簡體   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