Intent captureImageIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(captureImageIntent, TAKE_FIRST_IMAGE_REQUEST_CODE);
在onActivityResult(int requestCode,int resultCode,Intent data)
中String mediaKey = "data";
case TAKE_FIRST_IMAGE_REQUEST_CODE:
mImageUri1 = data.getData();
if (mImageUri1 != null) {
mImageBitmap1 = (Bitmap) data.getExtras().get(mediaKey);
postCaptureImg1();
} else {
LOGD(TAG, "mImageUri1 == null");
}
break;
该代码适用于Android版本< 5.0。但是,在5.0上,它不再有效,mImageUri1始终为null。
Android 5.0中是否有任何变化导致此问题?
答案 0 :(得分:0)
该代码适用于Android版本< 5.0
不,它没有。 发生在您的有限测试中工作,因为您使用的特定相机应用发生以返回Uri
(可能是您通过{{1}提供的值})。但是,the documentation for ACTION_IMAGE_CAPTURE
中没有任何内容需要相机应用返回EXTRA_OUTPUT
。有数百甚至数千个相机应用程序,包括预安装和从Play商店等公共渠道安装的应用程序。不要依赖于Uri
中的Uri
。
Android 5.0中是否有任何变化导致此问题?
您使用的相机应用程序可能已更改为不再在结果中打包onActivityResult()
。根据记录的协议,这是完全合法的。