android 11 適配指南

最近由于應(yīng)用市場(chǎng)審核比較嚴(yán)格,需要targetsdkversion升級(jí)到30以上和需要app備案,app備案相關(guān)的只能找相應(yīng)的網(wǎng)絡(luò)供應(yīng)商接口來進(jìn)行,或者通過華為云,阿里云等來進(jìn)行備案,本人也將公司的app按要求進(jìn)行升級(jí),升級(jí)到android 11 后,需要進(jìn)行一些適配

1、分區(qū)存儲(chǔ)

android 11開啟了分區(qū)存儲(chǔ),即將公共區(qū)域劃分成了不同的集合,并且在媒體文件和其他文檔之間建立了清楚的分割。經(jīng)過劃分之后應(yīng)用不可以隨意訪問外部存儲(chǔ)區(qū)中的文件,而只能訪問媒體文件。如果想訪問包含更多細(xì)節(jié)數(shù)據(jù)的其他文檔,應(yīng)用專門向用戶申請(qǐng)有關(guān)文檔的訪問權(quán)限。

在android 10的時(shí)候 就已經(jīng)推行了分區(qū)存儲(chǔ),簡(jiǎn)單的說,就是應(yīng)用對(duì)于文件的讀寫只能在沙盒環(huán)境,也就是屬于自己應(yīng)用的目錄里面讀寫。其他媒體文件可以通過MediaStore進(jìn)行訪問。

但是在android10的時(shí)候,Google還是為開發(fā)者考慮,留了一手。在targetSdkVersion = 29應(yīng)用中,設(shè)置android:requestLegacyExternalStorage=“true”,就可以不啟動(dòng)分區(qū)存儲(chǔ),讓以前的文件讀取正常使用。但是targetSdkVersion = 30中不行了,強(qiáng)制開啟分區(qū)存儲(chǔ),設(shè)置android:requestLegacyExternalStorage="true"已經(jīng)無效了。

那該怎么辦哪,我們可以通過 申請(qǐng)獲取所有文件的管理權(quán)限,需要在清單文件添加

獲取之后就可以使用了

2.應(yīng)用可見

由于使用了極光分享和微信開放平臺(tái)打開微信客服,所以需要在清單文件配置一些應(yīng)用的包名,用于打開一些三方的應(yīng)用

3.獲取應(yīng)用安裝列表

如果你的app 在使用PackageManger的方法來獲取安裝的應(yīng)用列表,或者檢查應(yīng)用的設(shè)備,那么在Android11上,就需要做一點(diǎn)改變了。

這個(gè)代碼在android 11以下沒有任何問題,在android 11 需要另外加一個(gè)權(quán)限,才可以使用

?著作權(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)容