【问题标题】:Get image path from Camera sometimes returns null in Android从相机获取图像路径有时会在 Android 中返回 null
【发布时间】: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


【解决方案1】:

您应该使用这个库 (https://github.com/ralfgehrer/AndroidCameraUtil)。有些设备有不同的实现......

这个库已经准备好处理这些差异

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-19
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    相关资源
    最近更新 更多