![](/img/trans.png)
[英]How to gain access to a specific folder and write a file into it using 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.