我想从URI获取完整的文件路径.URI不是一个图像,但它是一个音乐文件,但如果我像MediaStore解决方案那样做,如果应用程序用户 Select 例如Astro作为浏览器,而不是音乐播放器,它将不起作用.我怎么才能解决这个问题呢?

推荐答案

使用:

String path = yourAndroidURI.uri.getPath() // "/mnt/sdcard/FileName.mp3"
File file = new File(new URI(path));

String path = yourAndroidURI.uri.toString() // "file:///mnt/sdcard/FileName.mp3"
File file = new File(new URI(path));

Android相关问答推荐

在Android Studio Iguana上运行示例代码时,Gradle Build错误

如何清除导航抽屉中以前 Select 的项目(Jetpack Compose)

滚动屏幕时更改按钮外观

StateFlow集合AsState没有更新他的值Jetpack Compose导航

我正在创建一个简单的连接四个游戏,我需要一个弹出式窗口当你赢了

Modifer.Align()不适用于行/列/框中的文本.未解决的作用域实例错误

在Jetpack Compose中将导航绘图显示在顶部栏下方、底部栏上方

在Jetpack Compose中实现焦点突出的最佳方式?

如何解决Gradle构建错误:java.lang.NoSuchMethodError

更改活动(上下文)对接收到的uri的访问权限的影响?

在 Compose 中,当用户持续向下滚动时,LazyColumn 不会显示新项目

如何在 android compose 中将具有渐变边缘的透明圆圈绘制到阴影覆盖层中?

如何在没有人窃取令牌的情况下使用我的移动应用程序中的 API

Composable 不会在单击按钮时重新组合

Jetpack 组合千位分隔符视觉转换,也适用于小数

状态值更改时屏幕未重新组合 - Jetpack Compose

如何从日期 Select 器计算年龄?

如何在 Jetpack compose 中将 Canvas 中的文本居中?

未解决的参考:getIntentSender / try 在 Jetpack Compose 中获取电话号码时

在 Android Studio 中保存数据