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