Kun*_*uno 3 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) 并通过 .pdf 文件在 pdf 阅读器中打开它FileProvider。它有效......为什么?自 android 10 和范围存储以来,它不应该不起作用吗?为什么我可以访问下载文件夹中的文件?
编辑:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).listFiles()列出所有文件,尽管文档说:
为了提高用户隐私,不推荐直接访问共享/外部存储设备。当应用以 Q 为目标时,此方法返回的路径不再可供应用直接访问