本文介紹了無法從Android 11中包含.nomedia文件或隱藏文件夾的文件夾中獲取文件的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我要獲取WhatsApp的.Status文件夾中的所有文件。在android10之前,我會完美地獲取所有狀態文件。但在Android 11上,由于新的限制,當我編寫如下代碼時:
File(Environment.getExternalStorageDirectory().absolutePath + File.separator + "Android/media/com.whatsapp/WhatsApp/Media/.Statuses").listFiles()
我總是得到0個文件。而我正在成功獲取此路徑上的其他文件夾文件";Android/media/com.whatsapp/WhatsApp/Media/";。
我現在面臨的兩個問題:
-
如果文件夾隱藏,則在Android 11中,listFiles()對該文件夾返回0。
如果文件夾未隱藏,但包含一個";.nomedia";文件,則在Android 11中,listFiles()也會對該文件夾返回0。
如何獲取Android 11中的所有WhatsApp狀態文件?
由于Google策略,我不想對其使用MANAGE_EXTERNAL_STORAGE權限。感謝您
推薦答案
在android 11中有訪問隱藏目錄的方法,其中有兩種方法:
存儲訪問框架(SAF),在該框架中,您可以將用戶帶到特定目錄,并向用戶請求訪問目錄文件權限,以及訪問其中文件的方式(學習SAF)。
您可以對該隱藏文件夾使用文件觀察器,無論何時從該隱藏目錄創建、修改或刪除任何文件,您都會獲得隱藏文件夾中該特定文件的完整路徑。&;一旦您有了完整路徑,您就可以訪問該文件。
這篇關于無法從Android 11中包含.nomedia文件或隱藏文件夾的文件夾中獲取文件的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,