Android 6.0權限適配過程中遇到的問題 淺談

一、Android6.0 權限變化

在Android M中權限系統被重新設計,發生了很大的變化。

1. 6.0以后Android權限分普通權限危險權限,如果應用的targetSdkVersion>=23,危險權限AndroidManifest注冊了也沒用,要用戶動態獲取的,即谷歌為了用戶安全性考慮,對危險權限不再是安裝時許可了,而是使用時讓用戶自己判斷。

二、Android6.0普通權限normal permission 和 危險權限dangerous permission

Normal?Permission:寫在xml文件里,那么App安裝時就會默認獲得這些權限,即使是在Android6.0系統的手機上,用戶也無法在安裝后動態取消這些normal權限,這和以前的權限系統是一樣的,不變。

Dangerous?Permission:還是得寫在xml文件里,但是App安裝時具體如果執行授權分以下幾種情況:

1、targetSDKVersion?<?23?&?API(手機系統)?<?6.0?:安裝時默認獲得權限,且用戶無法在安裝App之后取消權限。

2、targetSDKVersion?>=?23?&?API(手機系統)?<?6.0?:安裝時默認獲得權限,且用戶無法在安裝App之后取消權限。

3、targetSDKVersion < 23 & API(手機系統) >= 6.0 :安裝時默認獲得權限,但是用戶可以在安裝App完成后動態取消授權( 取消時手機會彈出提醒,告訴用戶這個是為舊版手機打造的應用,讓用戶謹慎操作 )。

4、targetSDKVersion?>=?23?&?API(手機系統)?>=?6.0?:安裝時不會獲得權限,可以在運行時向用戶申請權限。用戶授權以后仍然可以在設置界面中取消授權,用戶主動在設置界面取消后,在app運行過程中可能會出現crash。

三、Android 6.0+ 權限的管理?

好處:為Android系統的安全增強保障,用戶能夠有更加透明化的知情權。

壞處:作為開發的程序猿,就開始苦逼了 ,尤其是國產定制出現的各種奇葩,例如 魅、米 系統的定制沒有按照谷歌給的標準(框架)來定制,魅Android6.0(Flyme)系統給用戶的感覺還是6.0以下的系統授權方式,米Android6.0(MIUI)更牛叉,他自己的權限管理高于谷歌給予的權限 在Android系統設置里面設置權限管理(這個權限都是危險權限) 基本上沒有效果,只有在MIUI里面的安全管家的權限管理設置才能生效,這樣類似的定制系統就大大的增加了,開發者的難度。


Android 6.0 ?9組危險權限

四、Android6.0權限處理

在權限方面網上有很多大牛們開源的庫 :

1.PermissionsDispatcher permissionsdispatcher提供了一個簡單的基于注釋的API,在Android的棉花糖處理運行時的權限。 這個圖書館將負擔來寫一大堆檢查報表是否得到許可或不從你,為了讓你的代碼干凈和安全。

2.RxPermissions這個庫可以與新的Android權限模型的rxjava使用M。如果你的項目里面沒有集成rxjava 庫 最好不要使用,因為不能增加應用太多體積,當然了 如果你集成 ?還是不錯的

3.easypermissions是包裝庫來簡化基本系統權限的邏輯時,targetingandroid M或更高。這個也是谷歌官方開源的庫

4.AndPermission這個庫集成方便并且適配不少國產手機? ?Android 6.0 運行時權限管理最佳實踐

5.這個就是系統自帶的方法

if(ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {// 沒有權限。if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_CONTACTS)) {// 用戶拒絕過這個權限了,應該提示用戶,為什么需要這個權限。}else{// 申請授權。ActivityCompat.requestPermissions(thisActivity,newString[]{Manifest.permission.READ_CONTACTS}, MMM);

}}

@OverridepublicvoidonRequestPermissionsResult(intrequestCode, String permissions[],int[] grantResults) {

switch(requestCode) {

caseMMM: {

if(grantResults.length >0&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {// 權限被用戶同意,可以去放肆了。

}else{// 權限被用戶拒絕了,洗洗睡吧。}return;

}}}

五、國產手機設置權限的頁面(持續更新中。。。)

這個是我從網上收集并總結的一個工具類



Android各大手機品牌手機跳轉到權限管理界面

這個鏈接地址后期會發出來 (如果沒有發出來可以發郵件到我郵箱提醒我 或者回復 郵箱:1732685009@qq.com)(圖片里面的代碼鏈接


六、總結

在處理Android6.0權限的過程中,遇到了各種各樣的問題,也在其中收獲了很多東西。在使用過程中不管是使用原生的方法還是第三方開源的庫 在適配國產手機或者一些定制比較深的手機還是會出現各種各樣的問題。Android6.0適配的道路還是任重道遠....... ?

在適配一些奇葩的手機系統時,在我們實在不能判斷權限有無的時候我們可以通過try catch來捕獲異常 從而減少因權限導致的崩潰

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,769評論 2 372

推薦閱讀更多精彩內容