我有这个简单的代码来拍摄单张照片并返回来电者活动:
Intent camera_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri uriSavedImage = Uri.fromFile(new File(Environment
.getExternalStorageDirectory()
+ directory_path
+ "/"
+ Calendar.getInstance().get(Calendar.MILLISECOND)
+ ".jpg"));
camera_intent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
startActivityForResult(camera_intent, 1);
MainActivity.this.startActivityForResult(camera_intent, 0);
但是相机意图仅在两张照片后关闭。因此,在拍摄一张照片后,相机意图仍然有效。我拍摄另一张照片后,只有现在,相机意图关闭,onActivityResult
被调用。
怎么了?
编辑: 我尝试将一条Log消息打印到onActivityResult中,我注意到onActivityResult被调用了两次,但只是在第二张图片之后(并且在相机意图关闭之后)
答案 0 :(得分:5)
你正在调用两次startActivityForResult
startActivityForResult(camera_intent, 1);
//MainActivity.this.startActivityForResult(camera_intent, 0);
删除其中一个。