Android平臺targetSdkVersion設置及動態權限

--關於Android動態權限和targetSdkVersionspa

Android系統自6.0開始,提供動態權限機制,對於敏感權限(存儲,定位,錄音,拍照,錄像等),須要在APP運行過程當中動態向用戶申請,這點和IOS系統使用體驗一致。
在Android上使用動態權限,要求APP編譯的目標sdk(即targetSdkVersion)爲23及以上,22及如下系統會執行缺省處理(手機廠商也可能定製處理),APICloud爲簡便開發,默認配置targetSdkVersion爲20,即走系統缺省處理,不容許更改。
複製代碼

--有許多原生APP轉到APICloud開發後,因targetSdkVersion降級而致使沒法覆蓋安裝;另外自2018年11月開始,GooglePlay將要求APP編譯目標sdk必須爲26及以上,不然不予提交審覈。code

--現介紹如何自定義編譯targetSdkVersion值:xml

一、下載附件中的manifest.xml,將其中的targetSdkVersion更新爲目標值,例如26; 二、將manifest.xml置於你的/項目代碼/res/目錄下(widget/res/manifest.xml),提交代碼; 三、雲編譯界面勾選APP所需的權限;開發

四、使用升級環境編譯 便可。文檔

--注意:當你設置的targetSdkVersion大於等於23時,即開啓了動態權限,若是你的APP帶有定位,錄音,拍照,錄像等敏感功能時(全部權限見文檔),必須使用動態權限機制,先判斷是否具備該功能操做權限,再進行操做,若是不具有相應的權限,對應的功能是失效的(也可能致使崩潰)。涉及的兩個API:hasPermission | requestPermissionget

補充:當你設置的targetSdkVersion大於等於23時,若是是編譯自定義loader,安裝到手機後,須要先在設置中給應用打開存儲空間權限。不然,WiFi同步後,loader沒法正常加載代碼。同步

爲保證動態權限盡量適配更多廠商的手機以及順利上線Google Play,targetSdkVersion目前推薦設置爲26.io

相關文章
相關標籤/搜索