小编ron*_*nat的帖子

从 Uri 获取真实路径 - DATA 在 android Q 中已弃用

我正在成功实现一种方法,用于通过UriACTION_PICK意图返回的方式从图库中检索图像的真实路径。这是一个示例:

// getRealPathFromURI(intent.getData());

private String getRealPathFromURI(Uri contentURI) {
    String result;
    Cursor cursor = getContentResolver().query(contentURI, null, null, null, null);
    if (cursor == null) { // Source is Dropbox or other similar local file path
        result = contentURI.getPath();
    } else { 
        cursor.moveToFirst(); 
        int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); 
        result = cursor.getString(idx);
        cursor.close();
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

就像这个答案

最近更新compileSdkVersion29和显然DATA不推荐使用每个人使用的属性。在官方文档中,他们建议改用FileDescriptor,问题是我不知道具体如何。
我唯一发现的是这个问题。虽然没有在那里找到正确的答案。

请使用建议的方式或任何其他方式通过解决方案帮助我克服弃用问题。

谢谢你。


更新:

其次@CommonsWare 答案和复制返回的URI(图像用户选取的)到本地目录,使用 …

android android-contentresolver

16
推荐指数
2
解决办法
9613
查看次数

标签 统计

android ×1

android-contentresolver ×1