繁体   English   中英

迁移 /storage/emulated/0/ 中的文件夹<my_folder>从 Android 10 到 11</my_folder>

[英]Migrate folder in /storage/emulated/0/<my_folder> from Android 10 to 11

在我现有的应用程序(Android 10)中,我在/storage/emulated/0/<my_folder>下有一个文件夹。 在查看了 Google Developers 上的各种资源后,我认为由于存储访问权限的更改,我认为不可能再访问 Android 11 下的/storage/emulated/0/<my_folder>目录。

当然,我可以在 Google 提到的所谓“范围存储”内的 Android 11 下创建这些文件夹。 但是,如果用户将应用程序从 10 更新到 11,当我在 Android 11 上时,如何访问旧文件夹以将文件复制到“范围存储”内的新文件夹中?

还是有其他方法可以安全地迁移/storage/emulated/0/<my_folder>下的这个文件夹?

使用意图ACTION_OPEN_DOCUMENT_TREE您可以让用户选择您的<myfolder>

对于新安装,请改用/storage/emulated/0/Documents/<my_folder>

没有理由复制文件或文件夹。

您可以通过SimpleStorage收回旧应用文件夹的权限:

storageHelper.requestStorageAccess(
    expectedStorageType = StorageType.EXTERNAL,
    expectedBasePath = "<my_folder>"
)

自从引入 Scoped 存储以来,您不能再在没有特殊权限的情况下在根目录下创建文件夹,IE 管理外部存储,但我怀疑如果核心功能不受影响,Play 商店将允许访问您的应用程序,您可以执行以下操作之一下列的

  1. 将您需要的文件存储在受尊重的文件夹中[推荐](文档的文档,图像/视频的 DCIM,音频文件的音乐等)
  2. 通过打开文档树意图需要对文件夹的权限(不得已)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM