1
我试图用相机使用意图与onActivityResult
拍摄一张照片,但是每次我拍照时相机都会锁定并永不返回。为什么会发生这种情况?这是我使用的代码:Android相机意图不会返回/锁定
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
永远不会触发。
感谢您的输入。
感谢您的回答卢卡斯。事情是,这是随机发生的,有时它会工作,有时不会。当它锁定时,我必须强制停止相机,如果我再试一次,它会抱怨相机服务不可用。我会研究你发布的链接,看看它是否能解决问题。 – Ryan 2011-06-12 21:24:47
也许这是你的设备/模拟器的问题?你尝试过不同的设备吗? – 2011-06-12 21:29:53
很确定它是仿真器,有时我必须在它工作之前重新启动它2-3次。无论如何,感谢帮助卢卡斯。 – Ryan 2011-06-12 23:49:48