听相机事件android

时间:2011-07-25 03:43:49

标签: android android-manifest android-camera android-camera-intent

我正在尝试在android中实现相机事件。我是新手。究竟如何听取像didCancel和didFinishPickingMedia这样的事件?请指教。我非常绝望,因为快速搜索无法引导我到任何地方。

3 个答案:

答案 0 :(得分:1)

我真的认为你在寻找这个:

MediaStore ACTION_IMAGE_CAPTURE

如果你用这个创建一个意图:

Uri uri = ... // where I want a full sized photo to be.
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri)
startActivityForResult(intent, MY_CALLBACK_ID);

然后在同一活动的某个地方:

public void onActivityResult(int  requestId, int resultCode, Intent data) {
if (requestId == MY_CALLBACK_ID) {
   if (resultCode == Activity.RESULT_CANCELLED) {
       onCancelled();
   } else if (resultCode == Activity.RESULT_OK) {
      onFinishedPickingMedia();
   }
}

或者如果你真的只想让Gallery出现,你可能会得到类似的代码,除了不使用MediaStore.ACTION_IMAGE_CAPTURE,试试这个(我还没有验证):

Intent intent = new Intent(Intent.ACTION_PICK);
intent.setData(MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(intent, MY_CALLBACK_ID);

我不认为您要求的特定回调存在于Android中。你在哪里听过它们?

答案 1 :(得分:0)

Android提供了一些回调以侦听Camera事件。在Camera类中声明了回调。通过使用这些回调,您可以处理相机事件。点击此链接..

http://developer.android.com/reference/android/hardware/Camera.html

http://marakana.com/forums/android/examples/39.html

答案 2 :(得分:0)

试试这个,

<uses-permission android:name="android.permission.CAMERA" />

   <receiver
        android:name="com.android.application.CameraEventReciver"
        android:enabled="true" >
        <intent-filter>
            <action android:name="com.android.camera.NEW_PICTURE" />
            <data android:mimeType="image/*" />
        </intent-filter>
    </receiver>