2012년 3월 20일 화요일

[안드로이드] Broadcast - 카메라로 사진을 찍을 경우 발생하는 인텐트



카메라에서 사진을 찍으면 com.android.camera.NEW_PICTURE 라는 브로드 케스트가 생성 된다.
이걸 처리하는 인텐트 필터를 선언 하고 브로드 케스트 리시버를 만들어 주면 사진이 찍힐때 마다 하고자 하는 일을 할 수 있게 된다.

* XML 선언 예
<receiver android:name=".NewPhotoReceiver">
<intent-filter>
<action android:name="com.android.camera.NEW_PICTURE" />
<data android:mimeType="image/*"/>
</intent-filter>
</receiver>

* 브로드케스트리시버 샘플
public class NewPhotoReceiver extends BroadcastReceiver
{
 @Override
 public void onReceive(Context context, Intent intent) {
  Log.d("Test", "START OF NewPhotoReceiver");
  
  Uri uri = intent.getData();
  
  Toast.makeText(context, "Photo taken - " + uri, Toast.LENGTH_SHORT).show();
  
  Log.d("Test", "[onReceive] URI - " + uri);
 }
}

댓글 없음:

댓글 쓰기