从图库文件路径中选择图像返回 NULL

Mo *_*Dev 1 android android-intent android-image

我想从图库中选择一张图像并获取它的路径。这是我用来打开画廊的代码

Intent intent = new Intent();
                    intent.setType("image/*");
                    intent.setAction(Intent.ACTION_GET_CONTENT);
                    startActivityForResult(Intent.createChooser(intent,
                            "Select Picture"), 1111);
Run Code Online (Sandbox Code Playgroud)

onActivityResult

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
    if (resultCode == RESULT_OK) {
        Uri selectedImageUri = imageReturnedIntent.getData();

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

        Log.d("TAG", "onActivityResult: " + filePath);
    }
}
Run Code Online (Sandbox Code Playgroud)

filePathnull如果我从默认系统图像选择器中选择图像,则总是如此,尽管如果从图库应用程序中选择图像,它工作正常。我的代码有什么问题?

Com*_*are 5

不需要从 the或 a 中ACTION_GET_CONTENT返回 a ,否则具有列。UriMediaStoreUriDATA

另请注意,您无权访问Android 10 及更高版本上的DATA值列MediaStore Uri,因此“工作正常”只是暂时有效。

我想从图库中选择一张图像并获取它的路径

没有路。用户可以从云存储提供商(例如 Google Drive)中选择一段内容。

也可以看看:


归档时间:

查看次数:

2814 次

最近记录:

5 年,8 月 前