gpt4 book ai didi

android - Gallery intent.getData() 在 onActivityResult 中返回 null

转载 作者:太空狗 更新时间:2023-10-29 15:02:56 25 4
gpt4 key购买 nike

我最近修复了一个 known bug在某些设备上出现在我的应用程序中;当用户从我的应用程序启动的 Intent 中拍摄照片时,onActivityResult Uri uri = intent.getData(); 返回 null。我设法在 suggested manner. 中解决了这个问题但是,当用户需要从手机的照片库中选择图片时,我会遇到完全相同的问题。同样的 intent.getData() == null

开始 Intent :

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "Select Picture"),
R.id.SELECT_IMAGE_ACTIVITY_REQUEST_CODE);

onActivityResult:

Uri selectedImage = data.getData();
String[] filePathColumn =
{MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
dataHasChanged(ACTION_PICTURE, filePath);

PS:奇怪的是,如果我开始如下所示的 Intent ,我可以获得 intent.getData() 但前提是我在我的三星 s4 上使用“画廊”应用程序而不是 GooglePhotos 应用程序.

Intent pickImageIntent = new Intent(
Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
if (pickImageIntent.resolveActivity(getPackageManager()) != null)
startActivityForResult(pickImageIntent, R.id.SELECT_IMAGE_ACTIVITY_REQUEST_CODE);

我不确定如何进行。我发现整个 Android intents 事件有时非常困惑。

最佳答案

我给你代码供你引用:

在您的应用中点击图片后使用以下代码:

    Intent intent = new Intent();
// call android default gallery
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
try {
intent.putExtra("return-data", true);
startActivityForResult(Intent.createChooser(intent,"Complete action using"), PICK_FROM_GALLERY);
} catch (ActivityNotFoundException e) {
// Do nothing for now
}

以下代码将在您的 onActivityResult() 中:

        if (requestCode == PICK_FROM_GALLERY) {
if (resultCode != RESULT_CANCELED) {
Bundle extras2 = data.getExtras();
if (extras2 != null) {
photo = extras2.getParcelable("data");
bitmap = photo;
profile_imageView.setImageBitmap(photo);
new ImageUploadTask().execute();
}
}
}

希望这能解决您的问题。

关于android - Gallery intent.getData() 在 onActivityResult 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24759267/

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