如何将Android Uri转换为Java URI

hoo*_*d82 1 android uri

我正在试图弄清楚如何将Android Uri转换为Java URI.我想要做的是获取一个文件,但据我所知,我需要传递一个Java URI.

这是我试图转换的我的Uri:

content://media/external/images/media/100
Run Code Online (Sandbox Code Playgroud)

而我正试图得到的:

File mediaFile = new File(new URI("android.net.Uri"));
Run Code Online (Sandbox Code Playgroud)

其中"android.net.Uri"是我的Uri对象

如果有一个不同的/更好的方法从这个内容Uri获取java.io.File对象,我会接受建议,因为到目前为止,我已经远远地搜索到了没有运气.

hoo*_*d82 5

知道了,我能够获得Uri的真实文件路径,然后创建文件:

Uri uri = Uri.parse("content://media/external/images/media/47");

String[] projection = { MediaStore.Images.Media.DATA };
Cursor cur = managedQuery(uri, projection, null, null, null);
cur.moveToFirst();
String path = cur.getString(cur.getColumnIndex(MediaStore.Images.Media.DATA));

mediaFile = new File(path);
Run Code Online (Sandbox Code Playgroud)