【问题标题】:Android Inbuild(ActionImageCapture) intent returns null intent .Cannot deliver result {who= null}Android Inbuild(ActionImageCapture) 意图返回空意图。无法传递结果 {who=null}
【发布时间】:2012-01-05 00:35:05
【问题描述】:

我正在使用默认相机意图在我的应用中获取图像。问题是相机在 onActivityResult() 上返回 null。 ResultCodeRequestCode 按预期返回。

我的意图调用是:

private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 1224;
....
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);

OnactivityResult 是:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
    //use imageUri here to access the image
    Uri imageuri = data.getData(); // here is getting crash 
    imageView.setImageFromUri(imageUri);
}
}
}

void setImageFromUri(Uri imgUri){
 ... TODO assign image from uri
}

当我输入日志时,我得到了 resultCode 和 responseCode 不为空

resultCode = -1
requestCode = 1224

我在哪里做错了?

但是拍摄的图片是存放在我指定的路径(imageUri)中

有没有其他方法可以使用相机获取图像。

【问题讨论】:

    标签: android nullpointerexception android-intent android-camera


    【解决方案1】:

    您似乎在 onActivityResult 之前就知道 imageUri。这不是正确的答案,但可以正常工作。

    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); 
    

    // 这个图片uri只有你要使用

    所以不要使用

     Uri imageuri = data.getData();
    

    只需使用您知道的 uri。

    您的代码如下所示:

    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
      if (resultCode == RESULT_OK) {
    //use imageUri here to access the image
    imageView.setImageFromUri(imageUri); // imageUri should be global in the activity
      }
    }
    

    【讨论】:

    • 感谢Shadowtech,这就是我所做的......它正在工作。 :) 你知道为什么意图是空的吗?
    • 如果你删除了 intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);然后您将获得意图中的图像,否则意图将为空,并且图像将存储在 URI 上...
    猜你喜欢
    • 2014-04-28
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    相关资源
    最近更新 更多