3

在我的应用程序中,我只想听用户在相机中拍摄的照片并增加照片数量。我试着听

<action android:name="android.provider.MediaStore.ACTION_IMAGE_CAPTURE" />
<action android:name="android.media.action.IMAGE_CAPTURE" />
<action android:name="android.media.action.STILL_IMAGE_CAMERA" />
<action android:name="android.intent.action.CAMERA_BUTTON" />

以上意图。但这些意图不适用于银河。有没有其他方法可以收听捕获的图像。

4

3 回答 3

1

这里

线索是使用作为参数传递的意图启动活动:

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent, TAKE_PICTURE);

并捕获活动的结果:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
    case TAKE_PICTURE:
        if (resultCode == Activity.RESULT_OK) {
            // Do something
        }
    }
}
于 2012-05-04T05:43:58.040 回答
1

我认为你应该使用图片回调

                    Camera.PictureCallback picture_callback = new Camera.PictureCallback() {

                        @Override
                        public void onPictureTaken(byte[] data, Camera camera) {
                            // WRITE YOUR CODE WHEN PICTURE TAKEN.
                            // "data" IS YOUR TAKEN PICTURE FRAME. 
                        }
                    };

将图片回调设置为您的相机,每次拍照时控制都会进入上述功能。

您可以将图片回调设置为

if you have raw frame
        mCamera.takePicture(null, picture_callback, null);

if you have jpeg frame
        mCamera.takePicture(null, null, picture_callback);

hope it will help you..

如果你想使用默认相机,那么你可以使用它。

相机 mCamera = Camera.open();

于 2012-05-04T05:49:40.820 回答
0

我知道,这个线程很老而且没有答案,但我也在寻找相同的解决方案。并在 StackoverflowVogella 的帖子中找到了一些有用的提示。

以防万一有人需要类似的东西......

于 2013-05-25T05:38:52.333 回答