1. 程式人生 > >Android6.0之後如何優雅的進行各種許可權申請

Android6.0之後如何優雅的進行各種許可權申請

前言:

最近在公司做一個關於地圖的APP,所以需要對地圖的定位許可權進行申請,剛開始瘋狂的在AndroidManifest.xml檔案裡面寫申請許可權,一系列的報錯和百度後才發現問題的所在,故此寫下此部落格也給自己和正準備採坑的小夥伴們一個提醒。(針對那些對安卓許可權機制不熟悉的小夥伴(沒錯也包括我)大佬可忽略)。

簡介:

android的許可權系統自6.0之後就需要開發者去手動的申請,這些許可權一般是涉及到使用者的隱私,所以需要使用者授權,例如:讀取內外部記憶體卡、相機、相簿、錄音、定位等,雖然程式碼量不多,但也是麻煩因此此我就寫了一個工具類,下面請看程式碼。(因為個人需要程式碼不多,只寫了定位的許可權申請,希望大家理解,相信如果仔細去看了我這篇博,那對於獲取其他的許可權申請也不會很難)。

申請定位許可權程式碼塊

這裡寫圖片描述
如果你需要更換或申請另一個許可權只需要將ACCESS_COARSE_LOCATION定位許可權換成其他許可權即可,(這裡就不另外舉例說明了)。

如果當前使用者沒有授權該許可權或使用者拒絕授權時,彈出對話方塊,讓使用者知道這個許可權是必要許可權,需要使用者自己手動的到系統應用去開啟,程式碼如下
這裡寫圖片描述

相信這些程式碼不用過多的解釋了吧,照抄就行!

這時候缺少一個許可權授權回撥處理的一個方法,程式碼如下
這裡寫圖片描述
這段程式碼大家注意,這個回撥方法是在要寫在MainActivity類裡面才能被呼叫,如果要寫在的工具類裡面,那麼MainActivity類就必須要繼承了該工具類不然就不得呼叫。因為此方法是Activity的重寫方法,如果寫在工具類裡面而MainActivity沒繼承該工具類而強行在MainActivity裡面去new一個物件來呼叫此方法則無效。

總結

以上就我對於安卓6.0去如何動態申請許可權的全部程式碼,如有不懂和疑問可留言私信,另外向大家推薦一波大牛https://my.csdn.net/qq_34379015一個很牛逼一個Android、Java大神,最近也在瘋狂寫部落格,大家不妨關注一波。(對了,如果大家覺得我這篇部落格寫的不錯的話記得點贊哦!!)