我从我的应用程序通过intent与参数MediaStore.EXTRA_OUTPUT.Camera开启相机活动开,但是当我backpress不点击图像我的应用程序crashes.I通过类似的问题去了,看见相机意图如果使用MediaStore.EXTRA_OUTPUT,则返回null。那么如何检查图像是否被点击? 这里是代码:
安卓相机意图处理backpress
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri camCapfileUri = Uri.fromFile(new File(camCaptureImageName));
intent.putExtra(MediaStore.EXTRA_OUTPUT, camCapfileUri);
activity.startActivityForResult(intent, reqCode);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//Changes camera on backpressed with data null checked
if (requestCode == REQUEST_CAMERA) {
onCaptureImageResult();
} else if (requestCode == PICK_FROM_GALLERY && data.getData() != null) {
onSelectFromGalleryResult(data);
}
}
,当我检查(数据!= NULL)的摄像头,可以在一些手机和崩溃其他mobiles.So我如何在这种情况下处理backpress运作良好。
检查Activity.RESULT_CANCELED或Activity.RESULT_OK ...在后退按钮的情况下,您将获得Activity.RESULT_CANCELED –
为什么在开始使用数据或文件之前没有检查onActivityResult中的RESULT_Ok?如果你没有捕获或什么也没做相机的意图总是返回以外,它保证将返回RESULT_OK之前开始提取数据之外的Result_cancel。 –