0

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

4

3 回答 3

1

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

媒体商店 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();
   }
}

或者,如果您真的只想显示图库,您可能可以使用类似的代码,但不使用 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 中不存在。你在哪里听过他们提到的?

于 2011-07-25T07:59:25.757 回答
0

Android 提供了一些回调来监听相机事件。这些回调在 Camera 类中声明。通过使用这些回调,您可以处理相机事件。按照这个链接..

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

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

于 2011-07-25T07:25:25.617 回答
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>
于 2013-12-11T17:40:32.993 回答