Android 5.0 是否更改了 ACTION_IMAGE_CAPTURE 意图的结果?
Did Android 5.0 change the result of ACTION_IMAGE_CAPTURE intent?
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 中有什么变化导致了这个问题吗?
The code works fine on Android version < 5.0
不,不是。它 发生 在你的有限测试中工作,因为你使用的特定相机应用程序 发生 到 return Uri
(大概,您通过 EXTRA_OUTPUT
提供的值)。但是,the documentation for ACTION_IMAGE_CAPTURE
中没有任何内容需要相机应用 return 和 Uri
。有成百上千个相机应用程序,既有预装的,也有从 public 渠道(如 Play 商店)安装的。不要指望在 onActivityResult()
.
中获得 Uri
Anything changed in Android 5.0 that causes this?
也许您正在使用的相机应用已更改为不再在结果中打包 Uri
。根据记录的协议,这是完全合法的。
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 中有什么变化导致了这个问题吗?
The code works fine on Android version < 5.0
不,不是。它 发生 在你的有限测试中工作,因为你使用的特定相机应用程序 发生 到 return Uri
(大概,您通过 EXTRA_OUTPUT
提供的值)。但是,the documentation for ACTION_IMAGE_CAPTURE
中没有任何内容需要相机应用 return 和 Uri
。有成百上千个相机应用程序,既有预装的,也有从 public 渠道(如 Play 商店)安装的。不要指望在 onActivityResult()
.
Uri
Anything changed in Android 5.0 that causes this?
也许您正在使用的相机应用已更改为不再在结果中打包 Uri
。根据记录的协议,这是完全合法的。