接上篇:
上篇提到了9.0之後,sdcard的解決方案
但 documentfile.findfile(split[i]); findfile方法耗時巨長,此方法檔案越多耗時越長。
大概1000個檔案,findfile需要花費5s以上。
那麼,我們刪除乙個檔案就需要漫長的等待過程。
file file4=new file(path);//這裡沒有許可權刪除
documentfile mdocumentfile = documentfile.fromfile(file4);//這裡依然沒有許可權刪除
uri msafuri = parseuri(mdocumentfile.geturi());//uri轉換,把uri轉換成有許可權的uri(字串拼接uri)
try catch (filenotfoundexception e)
以上,關鍵點在於通過uri拼接,替換掉了之前的findfile方法耗時,有效降低了刪除等待時間。
private uri parseuri(uri uri) else
//outuri = "content:" + strstorage + "%3a" + strfile;
outuri = "content:" + strstorage + "%3a/document/" + strstorage + "%3a" + strfile;
//return uri.parse(outuri);
}return uri.parse(outuri);
}
Android 9 0 sdCard檔案讀寫
目錄 背景描述 解決方案 處理過程中遇到的問題 中需要替換的點 結尾 9.0之後,google合入一筆patch,去掉了write media storage許可權中的sdcard rw。導致之前的檔案讀寫方式無法對sdcard生效 documentfile 申請目錄許可權 private void...
檔案訪問許可權
檔案許可權就是檔案的訪問控制許可權,即哪些使用者和組群可以訪問檔案以及可以執行什麼樣的操作。unix linux系統是乙個典型的多使用者系統,不同的使用者處於不同的地位,對檔案和目錄有不同的訪問許可權。為了保護系統的安全性,unix linux系統除了對使用者許可權作了嚴格的界定外,還在使用者身份認...
UNIX檔案訪問許可權
檔案的訪問許可權 unix檔案的訪問有三種許可權 許可權普通檔案的訪問許可權 目錄的訪問許可權 r具有讀取檔案的權利 能讀取檔名稱 w具有寫入檔案的權利 能建立和刪除檔案,可以改變檔名 x具有執行檔案的權利 能使用該目錄下的檔案 如cd命令 搜尋檔案等 能夠訪問檔案的使用者型別 有三種型別的使用者可...