范围存储-下载文件夹访问

时间:2019-09-17 15:06:36

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

我的目标是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时,此方法返回的路径不再可供应用直接访问

1 个答案:

答案 0 :(得分:1)

这是解决方案:

  

如果在启用了旧版外部存储的情况下安装了应用,则该应用将一直保持此模式,直到将其卸载。

更改标志并重新启动应用程序无效。