android - 如何将 Android Uri 转换为 Java URI

标签 android uri

我正在尝试弄清楚如何将 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 对象,我愿意接受建议,因为我已经进行了广泛的搜索,但到目前为止没有运气。

最佳答案

明白了,我能够获取 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);

关于android - 如何将 Android Uri 转换为 Java URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171458/

相关文章:

.net - 使用相对 URI

android - 如何删除运行时生成的文件 "ant release"

java - 通过Activity修改静态HashMap

android - 动态加载 Assets 文件夹中的所有图像

android - 如何从 Uri 获取位图?

c# - 反射(reflect)旧版本的 System.dll

java.net.URI 获取带下划线的主机

jsp - 我应该在 JSP 中引用哪个 JSTL URL?

java - Android - 从最近的应用程序刷应用程序时服务停止

java - 使用数组列表将标记添加到 Google map 。安卓