Android Camera意图不会返回/锁定

时间:2011-06-12 19:49:51

标签: android camera android-intent image freeze

我正在尝试使用onActivityResult的意图从相机拍摄照片,但每次拍照时相机都锁定并且永不返回。这可能发生的原因是什么?这是我正在使用的代码:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); 

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.v(TAG,"Camera callback: "+Integer.toString(resultCode));
    if (requestCode == CAMERA_PIC_REQUEST) {
        try{
            Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
            Log.v("Picture view",data.getData().toString());
            ImageView image = new ImageView(this);
            image.setImageBitmap(thumbnail);  
            setContentView(image);
        }
        catch(Exception e){
            Log.e(TAG, "something happened");
            e.printStackTrace();
        }

    }
}

这是拍照后的LogCat输出:

06-12 19:46:03.881: VERBOSE/camera(443): Start autofocus.
06-12 19:46:04.521: VERBOSE/camera(443): doSnap: mFocusState=1
06-12 19:46:04.721: VERBOSE/camera(443): mAutoFocusTime = 790ms

然后它就会锁定而onActivityResult永远不会触发。

感谢您的投入。

1 个答案:

答案 0 :(得分:1)

我阅读了一堆教程,每个人都做了不同的事情。官方Android文档使用Camera - 类(链接页面上的分步教程)。

我找到了this other tutorial(使用MediaStore - 类,就像你一样),但为意图上的输出文件添加了额外内容。

您可能想要检查这两个教程,看看是否适合您。