在安卓系统中,从file:android.net.Uri转换为File最简单的方法是什么?

try 了以下操作,但无效:

 final File file = new File(Environment.getExternalStorageDirectory(), "read.me");
 Uri uri = Uri.fromFile(file);
 File auxFile = new File(uri.toString());
 assertEquals(file.getAbsolutePath(), auxFile.getAbsolutePath());

推荐答案

你想要的是...

new File(uri.getPath());

... 而不是...

new File(uri.toString());

Note: uri.toString()返回格式为:"file:///mnt/sdcard/myPicture.jpg"的字符串,而uri.getPath()返回格式为:"/mnt/sdcard/myPicture.jpg"的字符串.

Android相关问答推荐

更新画布上的绘图以具有水平填充

Jetpack Compose-如何使用值动画直接控制其他动画

如何删除Jetpack Compose中的Textfield底线

LocalContext.current的问题(@Composable调用只能从@Composable函数的上下文发生)

Hilt+Worker NoSuchMethodException:<;init>;[class android.content.Context,class androidx.work.WorkerParameters]

使用 JNI 从 Android 应用程序中使用 Kotlin/Native 预构建共享库

如何禁用自动登录 google play games services android unity?

浏览器未命中断点判断 USB 连接设备

在 jetpack compose 中交替使用 View.INVISIBLE

在事件中使用 Context/Toast 时不需要的重组 - Jetpack Compose

单击 Jetpack Compose(单选)时,我无法为列表中的单个文本着色

Compose Accompaniist Pager 中的 TabRow/Tab 重组问题

从 Firebase 云存储中获取照片会导致 Android Jetpack Compose 闪烁

react 从输入中找到路径'lib/arm64-v8a/libfbjni.so'的本机2个文件

如何在 Jetpack Compose 中为中心对齐设置动画?

优化 Room 数据库迁移

如何使用 Kotlin 在 Android Wear(Galaxy watch 4)中继续在后台运行应用程序

更新应用程序是否会取消对应用程序特定文件的权限?

WearOS - 有没有办法从心电图传感器收集原始数据?

在 compose 屏幕之间传递 uri 会导致:SecurityException: Permission Denial