android - 在 Android 10 上从 URI 获取真实文件路径,在 Android 10 中内容 URI 后缀为 msf:documentid
问题描述
我试图从 Xamarin Android 中的意图选择器中获取真实路径,并且它在除 android 10 之外的每个 android 版本中都能正常工作。在 android 10 内容 uri 中就像
内容://com.android.providers.downloads.documents/document/msf%3A180
解决方案
Android 10 默认启用范围存储。这意味着您不能直接访问外部存储路径 - 看看这里。
您可以通过在应用程序的 AndroidManifest.xml 中设置requestLegacyExternalStorage来执行建议的操作true
,但请记住,这仅适用于 targetSdk 29 而不适用于 30+。
如果您尝试访问媒体,则应通过MediaStore完成。否则,请查看范围存储文档。
推荐阅读
- flutter - 如何将 Uint8list 转换为 List
飞镖? - c++ - 如何在不知道大小的情况下读取文本文件并存储到数组中?
- scala - 如何调用特征的所有子类的成员方法?
- angular8 - 是否有更好的文档或博客文章可用于将 Razorpay 与 Nest 和 Angular 应用程序集成
- c# - Serilog、Microsoft.Extensions.Logging 和 Autofac
- github - 如何仅对我们的范围包使用 github 包注册表,从标准 npm 获取其余部分?
- elasticsearch - 如何使用一个共享 NAS 区域扩展弹性搜索
- java - 使用应用程序打开特定文件扩展名
- javascript - 未捕获的类型错误:无法读取未定义的属性“getTracks”
- angular - 如何在角度材料中动态设置表单控件