首先說一下具體是什么問題:
一開始我是用的Glide加載本地圖片渐逃,路徑?jīng)]問題,讀取權(quán)限頁已經(jīng)賦予烂完,可就是無法加載出來试疙。我還以為是Glide的什么bug,上網(wǎng)搜索了好久抠蚣。
后面我又寫了下面這張圖的代碼祝旷,想著轉(zhuǎn)成bitmap來顯示,然后就報(bào)錯(cuò):open failed: EACCES (Permission denied)
這時(shí)才終于確定是權(quán)限問題,可我明明已經(jīng)給了權(quán)限怀跛,后面了解到Android 10文件存儲機(jī)制修改成了沙盒模式距贷,APP只能訪問自己目錄下的文件和公共媒體文件。
Android10以下吻谋,還是使用舊的文件存儲方式忠蝗。
Android 10即使獲取讀取權(quán)限,訪問外部存儲也受到了限制滨溉。
如果你也遇到了這個(gè)問題什湘,解決辦法有兩個(gè)。
第一種解決辦法:
在 manifest的applicaiton標(biāo)簽里加上下面這一句
android:requestLegacyExternalStorage="true"
第二種解決辦法:
檢查你的 targetSdkVersion 是不是29晦攒,如果是的話闽撤,改成28.