久久精品国产精品青草色艺_www.一区_国内精品免费久久久久妲己_免费的性爱视频

如何評(píng)價(jià)在Android11中,/Android/data文件夾無法讀寫??

<愛尬聊_百科大全>如何評(píng)價(jià)在Android11中,/Android/data文件夾無法讀寫?
憶清靜丫 10小時(shí)前

非常后悔更新了11,這可能是我見過最惡心的設(shè)計(jì)了,完全意義不明。能輕松管理所有文件一直是我覺得安卓比ios好的一點(diǎn),我經(jīng)常會(huì)把應(yīng)用緩存的一些視屏圖片儲(chǔ)存起來,真的就好的不學(xué)學(xué)壞的。不過目前還沒有像ios那樣封鎖嚴(yán)密,連到電腦上還是可以管理的,以后真的不能無腦更新系統(tǒng)了,后悔。----------------------------------話說現(xiàn)在ES瀏覽器給了權(quán)限就可以繼續(xù)瀏覽data了,也算是有了個(gè)解決辦法了


陌清茗18185350591女 9小時(shí)前

https://developer.android.com/about/versions/11/privacy/storage?hl=zh-cn#file-access對(duì)數(shù)據(jù)安全有一定幫助,但是對(duì)于某些不遵守安卓規(guī)范的應(yīng)用來說,恐怕是災(zāi)難。舉個(gè)例子,QQ下載的文件現(xiàn)在在Android/data/com.tencent.mobileqq/Tencent/QQfile_recv下這意味著當(dāng)我升級(jí)安卓11,我無法在正常的權(quán)限下獲得我通過QQ下載的東西,這會(huì)帶來極大的不方便。當(dāng)然這只是我的推測(cè),我自己并未使用Android11,如有錯(cuò)誤請(qǐng)指出。&lt;hr/&gt;目前我已經(jīng)用上Android11,目前通過自帶文件瀏覽器可以訪問Android/data目錄,root以后通過mt管理器可以讀寫該路徑。


z490656112 9小時(shí)前

是傘兵機(jī)制.喵的,手機(jī)里任何一個(gè)軟件,注意,是任何軟件你授權(quán)了,都可以挎著文件夾讀寫.但是,我這個(gè)用戶,即使我授權(quán)了,也沒法愉快的直接讀寫.反正意思就是,授權(quán)的第三方軟件比系統(tǒng)的管理器更加值得信任而且是無條件的那種.我可以輕松的把文件發(fā)送到百度云,任何云,就是沒法拷貝到本地.這個(gè)設(shè)計(jì)真的是傘兵.


路人丁的愛 9小時(shí)前

不知道是手機(jī)廠商會(huì)妥協(xié),一通花里胡哨的操作給各個(gè)軟件公司大爹開放權(quán)限,還是軟件公司妥協(xié),從此不再往data里亂拉屎。那天我要解壓一個(gè)QQ群里文件,之后包括官方文件管理器之內(nèi)的應(yīng)用程序都顯示無權(quán)限。在網(wǎng)上搜索一下后,我在三星的社區(qū)搜到一個(gè)解決辦法:升級(jí)安卓11(ONE UI3.0)之后無法訪問DATA文件夾解決辦法 - 蓋樂世社區(qū) - 三星手機(jī)官方粉絲論壇神奇的是我安裝這個(gè)應(yīng)用沒有給我要權(quán)限,有沒有大佬解答一下這是咋回事。


六合霸主 9小時(shí)前

開發(fā)者訪問安卓11 /android/data的方法為需要的開發(fā)者提供一種訪問安卓11的 /adnroid/data文件夾的方法清濁清濁最新版已經(jīng)適配安卓11 并且可以免 ROOT 訪問 android/data 針對(duì)安卓11 希望分享出這種方法 也希望有些人不要再反編譯我的代碼并抄襲1.申請(qǐng)android/data的訪問權(quán)限使用intent 跳轉(zhuǎn)系統(tǒng)文件管理器到 android/data 并同意你的應(yīng)用訪問這個(gè)文件夾這里是代碼 Uri uri1 = Uri.parse(&amp;#34;content://com.android.externalstorage.documents/tree/primary%3AAndroid%2Fdata&amp;#34;); Intent intent1 = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); intent1.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION | Intent.FLAG_GRANT_PREFIX_URI_PERMISSION); intent1.putExtra(DocumentsContract.EXTRA_INITIAL_URI, uri1); startActivityForResult(intent1, 11);這里的url 是我自己在舊安卓使用文件管理器選擇android/data返回的uri 同理 傳遞這個(gè)uri 給文件管理器 自然也會(huì)跳轉(zhuǎn)到這文件夾 如果不傳遞uri 系統(tǒng)文件管理器仍然無法顯示 android/data修改:這里的uri 在后續(xù)我發(fā)現(xiàn)在部分安卓11 無法正常跳轉(zhuǎn)了 以下是解決方法使用DocumentFile.fromTreeUri這個(gè)方法 獲得DocumentFile對(duì)象 然后再獲取他的uri 傳進(jìn)去就行了 這樣就能正常跳轉(zhuǎn)uri 了如果授權(quán)完成 會(huì)是這樣后續(xù)的檢測(cè)是否授權(quán)android/data 就自行查看谷歌文檔吧2.使用uri 訪問 android/data 的文件如果你現(xiàn)在有一個(gè)文件的path 那么這樣做可以轉(zhuǎn)為可以訪問的uriString[] paths = path.replaceAll(&amp;#34;/storage/emulated/0/Android/data&amp;#34;, &amp;#34;&amp;#34;).split(&amp;#34;/&amp;#34;); StringBuilder stringBuilder = new StringBuilder(&amp;#34;content://com.android.externalstorage.documents/tree/primary%3AAndroid%2Fdata/document/primary%3AAndroid%2Fdata&amp;#34;); for (String p : paths) { if (p.length() == 0) continue; stringBuilder.append(&amp;#34;%2F&amp;#34;).append(p); } return Uri.parse(stringBuilder.toString());這個(gè)uri 是android/data里的文件的uri 那么現(xiàn)在你可以使用DocumenFile 訪問這個(gè)文件具體的DocumentFile 用法可以谷歌下 3.使用ContentResolver 訪問文件如果你的對(duì)象是一個(gè)文件夾 并且你想要訪問這文件夾的文件 那么可以使用ContentResolver.query這個(gè)方法DocumentsContract.buildChildDocumentsUriUsingTree(dirUri, DocumentsContract.getDocumentId(dirUri));使用這個(gè)把uri 轉(zhuǎn)為 resolver 可處理的uri 然后使用 query查詢r(jià)esolver.query(childrenUri, new String[]{DocumentsContract.Document.COLUMN_DOCUMENT_ID}, null, null, null);主要是為了獲取DocumentId 用于獲取子文件的uri這個(gè)方法是SQL 的方法 當(dāng)然就可以使用SQL 的語句 可以自行谷歌這個(gè)文檔這里是獲取子文件的uri while (cursor.moveToNext()) { String documentId = cursor.getString(0); Uri uri = DocumentsContract.buildDocumentUriUsingTree(dirUri, documentId);}如果可以的話我建議 在此之前判斷 resolver.query 返回的 cursor 對(duì)象是否是null 這樣子我們就再次獲取了子文件的uri 了那么DocumentFile 就能再次派上了用場(chǎng) DocumentFile documentFile1=DocumentFile.fromSingleUri(context,uri);DocumentFile 為我們提供了判斷是否是 文件夾 文件的方法如果是文件夾我們可以再次執(zhí)行這樣得循環(huán) 如果是文件 我們可以獲取大小等由于清濁并不需要讀取文件內(nèi)容和修改內(nèi)容 所以這兩個(gè)怎么做 我并沒有做了 當(dāng)然谷歌的文檔說了可以使用I/O 讀取 就跟普通的File 操作沒區(qū)別了到這 4.末這種方法并不是新方法 只是在安卓11 可以用罷了 早在之前讀取聯(lián)系人等 就是用的這種方法 安卓5.0開始就有了這種讀取方法 不過這種方法目前就我看來有一點(diǎn)問題 速度緩慢 容易出現(xiàn)問題 具體問題我已經(jīng)遇到 在某種情況下會(huì)拋出各種exception 給你 當(dāng)然就需要你catch 一下了 后續(xù)的問題再說吧 或許也有其他方法讀取 代碼并不是原創(chuàng)都是來自谷歌提供的文檔 具體的應(yīng)用可以下載下清濁試試嗷 起飛


編輯 舉報(bào) 2023-07-15 14:30

0個(gè)評(píng)論

暫無評(píng)論...
驗(yàn)證碼 換一張
相關(guān)內(nèi)容