Android11 內(nèi)部存儲(chǔ)訪問權(quán)限問題記錄

String str="content://com.android.externalstorage.documents/tree/primary%3AAndroid%2Fobb";
String str2="content://com.android.externalstorage.documents/tree/primary%3AAndroid%2Fobb/document/primary%3AAndroid%2Fobb";

//以下兩種uri不可訪問,uri與str一致
Uri uri=Uri.parse(str);
Uri uri3=DocumentFile.fromSingleUri(this,uri).getUri();

//以下四種uri可以訪問,uri與str2一致
Uri uri2=Uri.parse(str2);
Uri uri4=DocumentFile.fromSingleUri(this,uri2).getUri();
Uri uri5=DocumentFile.fromTreeUri(this,uri).getUri();
Uri uri6=DocumentFile.fromTreeUri(this,uri2).getUri();

遍歷文件夾

Uri dirUri=FileUtil.pathToTreeUri(path);
Uri childrenUri= DocumentsContract.buildChildDocumentsUriUsingTree(dirUri, DocumentsContract.getDocumentId(dirUri));
Cursor cursor= getContentResolver().query(childrenUri, new String[]{DocumentsContract.Document.COLUMN_DOCUMENT_ID}, null, null, null);
if (cursor != null) {
    while (cursor.moveToNext()) {
        String documentId = cursor.getString(0);
        Uri uri = DocumentsContract.buildDocumentUriUsingTree(dirUri, documentId);
        DocumentFile f=DocumentFile.fromSingleUri(getContext(), uri);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容