【发布时间】:2019-11-15 13:59:35
【问题描述】:
我有一个应用程序,它为外部存储上的备份文件创建目录,并在用户退出应用程序时自动创建备份文件。每周创建一个备份文件,然后使用最新信息一直覆盖一个备份文件。
- 备份文件无法位于
getExternalFilesDir,因为它们需要在用户重新安装应用程序后继续存在。 - 我不能使用
MediaStorage,因为它不是图片或视频。 - 我不能使用
Storage Access Framework要求用户每次退出应用时都保存备份文件。
那么如何使用新的 Scoped Storage 自动创建持久备份文件呢?
(如果用户想要恢复其中一个,我还需要列出所有创建的备份文件。)
【问题讨论】:
-
为什么不使用存储访问框架到
CREATE_DOCUMENT,然后保留Uri以备后用? -
使用 ACTION_OPEN_DOCUMENT_TREE 让用户选择一个分区。之后,您可以写入创建文件夹和文件的整个分区。再也不用问用户了。
-
(I also need to list all created backup files, if the user wants to restore one of them.)使用 ACTION_OPEN_DOCUMENT 可以让用户选择正确的文件。 -
如果我使用 ACTION_OPEN_DOCUMENT_TREE 并让用户选择文件夹并使用持久 URI,我是否拥有对该文件夹中文件的完全读写权限?
-
..清除应用数据时权限会丢失吗?