首页 > 解决方案 > 仅对于某些图像,无法从 android 10 中的 URI 获取文件路径

问题描述

我的应用程序需要一个上传图像文件的选项,该选项仅适用于某些文件。我无法区分图像文件,以及为什么它不适用于每个图像。我正在我的 Android 10 手机上调试这个应用程序。

我编写的以下代码用于从 URI 获取文件路径。

try {
     Cursor cursor = getContentResolver().query(uri, null, null, null, null);
     cursor.moveToFirst();
     String document_id = cursor.getString(0);
     document_id = document_id.substring(document_id.lastIndexOf(":") + 1);
     cursor.close();

     cursor = getContentResolver().query(
              android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
              null, MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null);
     cursor.moveToFirst();
     String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
     cursor.close();
     return path;
}
catch (Exception e){
    Log.e("GET PATH EXCEPTION", e.getMessage());
    return null;
}

它抛出请求的索引 0,大小为 0 的异常

标签: android

解决方案


推荐阅读