9

例如

真实路径是 mnt/sdcard/image_1.jpg Uri 路径是 content://media/external/images/media/140 像这样

  Uri photoUri =Uri.parse("content://media/external/images/media/140");
                                            Log.d("selectedphoto",""+photoUri);
               selectedImagePath = getPath(photoUri);

     public String getPath(Uri uri) {
            String[] projection = { MediaStore.Images.Media.DATA };
            Cursor cursor = managedQuery(uri, projection, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();



    return cursor.getString(column_index);
    }

在上面的代码中,我将 Uri 转换为真实路径,但不知道如何将真实路径转换为 ​​Uri

4

2 回答 2

14

尝试这个:

Uri.fromFile(new File("/sdcard/cats.jpg"));
于 2012-08-28T15:12:15.523 回答
0

这将从 MediaProvider、DownloadsProvider 和 ExternalStorageProvider 获取文件路径,同时回退到您提到的非官方 ContentProvider 方法。

https://stackoverflow.com/a/27271131/3758898

于 2014-12-05T12:54:50.827 回答