如何解决Android 11 存储访问框架 - 如何使用文件?
嘿,开发者们,
我在使用存储访问框架 (SAF) 将我们的应用迁移到新的 API 30 标准时遇到了问题。
我已成功迁移文件结构,现在正在使用内部 (FilesDir) 路径。
使用 MediaStore-Api 获取图像也非常有效。
在我们的应用中,我们将 API“Mapsforge”用于离线地图。
这个 API 使用了一个 Java.IO.File-Object,我们从一个“.map”文件的路径中获得,这个文件几乎有 2GB 大。
这个文件不是我们提供的,它是由客户管理并放在设备上供我们使用的文件,因为所有的“.Map”-文件都是自定义的。
由于 SAF 返回的是 Android.Net.Uri,我似乎无法在不复制文件内容的情况下将其转换为 Java.IO.File,从而在设备上使用更多存储空间。
有什么方法可以使用 SAF 来获取我可以在代码中使用的 Java.IO.File-Object?
如果不是,那么 Android 11 会让我的客户很难管理他的存储。
解决方法
这个 API 使用了一个 Java.IO.File-Object,我们从一个“.map”文件的路径中获得,这个文件几乎有 2GB 大。
幸运的是,Mapsforge 将来会提供更灵活的 API。您可能希望就他们的建议与他们联系。
有什么方法可以使用 SAF 来获取我可以在代码中使用的 Java.IO.File-Object?
没有。毕竟,用户可能会选择 Google Drive 或其他云存储提供商上的内容,而不是本地文件。或者,他们可能会选择您的应用无法访问的文件。或者,他们可能会选择存储在加密文件中的内容,该文件需要由文档提供者解密。等等。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。