我正在试图弄清楚如何将Android Uri转换为Java URI。我要做的是获取一个文件,但据我所知,我需要传递一个Java URI。
这是我试图转换的我的Uri:
content://media/external/images/media/100
我想要的是:
File mediaFile = new File(new URI("android.net.Uri"));
“android.net.Uri”是我的Uri对象
如果有一个不同的/更好的方法从这个内容Uri获取java.io.File对象,我会接受建议,因为到目前为止,我已经进行了广泛的搜索而没有运气。
答案 0 :(得分: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);