繁体   English   中英

Scoped Storage - 下载文件夹访问

[英]Scoped Storage - Download folder access

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

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

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

这是解决方案:

如果应用程序安装时启用了旧外部存储,则该应用程序将保持此模式,直到卸载为止。

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

编辑:由于请求了来源。 自从我第一次看到它时页面发生了变化,所以引用不再是 100% 正确,但仍然: 在蓝色框中

暂无
暂无

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

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