【发布时间】:2014-11-25 17:34:28
【问题描述】:
我正在用手机摄像头拍照(在三星和 nexus 4 上测试),然后获取图像路径。很奇怪,在三星上它可以工作,在 nexus 4 上它返回 null。相同的代码..
// Get image from captured image
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, ACTION_REQUEST_CAMERA);
}
和onActivityResult:
case ACTION_REQUEST_CAMERA:
if (requestCode == ACTION_REQUEST_CAMERA && resultCode == RESULT_OK) {
photoTakenFromCamera = true;
if (intent != null) {
Bundle extras = intent.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
takenImg.setImageBitmap(imageBitmap);
targetUri = intent.getData();
} else {
System.out.println("intent is null. don't know why.");
targetUri = takenImagePath;
}
if (targetUri != null) {
System.out.println("TargetUri path: " + targetUri.getPath());
} else {
System.out.println("targetUri is null.");
}
}
break;
在 nexus 手机上,targetUri 返回 null。
minSdkVersion 是 15,目标是 19。有人看到我在这里缺少什么吗?谢谢。
【问题讨论】:
标签: android android-camera-intent