【问题标题】:Scoped Storage - Download folder accessScoped Storage - 下载文件夹访问
【发布时间】:2020-10-10 18:40:29
【问题描述】:

我的目标是 android 10,我不使用 android:requestLegacyExternalStorage。我使用DownloadManager 通过request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName) 下载到下载文件夹。我收听下载完成广播,提取 uri (file:///storage/emulated/0/Download/<name>.pdf) 并通过 FileProvider 在 pdf 阅读器中打开它。它有效......为什么?自android 10和范围存储以来,它不应该不起作用吗?为什么允许我访问下载文件夹中的文件?

编辑:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).listFiles() 列出了所有文件,尽管文档说:

为了改善用户隐私,不推荐直接访问共享/外部存储设备。当应用以 Q 为目标时,从此方法返回的路径不再可供应用直接访问

【问题讨论】:

标签: android android-download-manager storage-access-framework android-10.0 scoped-storage


【解决方案1】:

这是解决方案:

如果在启用旧版外部存储的情况下安装应用,则该应用会一直处于此模式,直到被卸载。

更改标志并重新启动应用程序不起作用。

编辑:因为请求了来源。自从我第一次看到页面后,页面就发生了变化,所以引用不再是 100% 正确,但仍然是:In the blue box

【讨论】:

  • 这个来源?
猜你喜欢
  • 2020-05-27
  • 2021-12-21
  • 1970-01-01
  • 2017-11-08
  • 2020-07-17
  • 1970-01-01
  • 2011-12-16
  • 2018-04-29
  • 1970-01-01
相关资源
最近更新 更多