gpt4 book ai didi

Android Inbuild(ActionImageCapture) Intent 返回空 Intent 。无法传递结果 {who= null}

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:21 24 4
gpt4 key购买 nike

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

我的 Intent 是:

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

我哪里做错了?

But the taken picture is stored in the path (imageUri) as I specified

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

最佳答案

您似乎在 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
}
}

关于Android Inbuild(ActionImageCapture) Intent 返回空 Intent 。无法传递结果 {who= null},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8246921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com