Android6.0動態許可權最簡單的解決方法
前言:動態許可權管理是Android6.0(B>uild.VERSION_CODES.M =Api23)推出的,提醒使用者當前APP所需>要的許可權,防止濫用。這些許可權一般分為三種:
(1)普通許可權:直接manifest清單檔案中寫上註冊就行了
(2)危險許可權:需要動態申請
(3)特殊許可權:一般用不上。
原聲的動態許可權管理很麻煩,程式碼也不夠優雅,因此就有很多的動態許可權管理庫,比較出名一點的有:
- EasyPermissions
- RuntimePermission
- RxPermissions
相較於其他的許可權管理庫,RxPermissions的程式碼最為簡潔,邏輯也更加清晰。
首先引入RxPermissions:
關鍵程式碼如下:
RxPermissions rxPermissions = new RxPermissions(this);
rxPermissions
.requestEach(Manifest.permission.READ_PHONE_STATE,//讀取電話
Manifest.permission.ACCESS_COARSE_LOCATION)//獲取位置資訊
.subscribe(permission -> {
if (permission.granted) {
Log.d("rxPermissions", permission.name + "同意了");
switch (permission.name) {
case Manifest.permission.READ_PHONE_STATE:
break;
case Manifest.permission.ACCESS_COARSE_LOCATION:
break;
}
} else if (permission.shouldShowRequestPermissionRationale) {
Log.d("rxPermissions", permission.name + "拒絕了");
switch (permission.name) {
case Manifest.permission.READ_PHONE_STATE:
break;
case Manifest.permission.ACCESS_COARSE_LOCATION:
break;
}
} else {
switch (permission.name) {
case Manifest.permission.READ_PHONE_STATE:
break;
case Manifest.permission.ACCESS_COARSE_LOCATION:
break;
}
Log.d("rxPermissions", permission.name + "拒絕並不再提示了");
}
});
執行結果:
相關文章
- Android6.0許可權的動態適配Android
- Android6.0動態許可權管理庫Android
- 關於動態許可權
- android動態許可權到自定義許可權框架Android框架
- JEECG 簡單例項講解許可權控制單例
- 許可權之選單許可權
- Android6.0執行時許可權機制Android
- .net core3.1 abp動態選單和動態許可權(思路) (二)
- linux許可權簡單介紹Linux
- 「Android6.0許可權適配| 掘金技術徵文 」Android
- Android動態許可權總結Android
- 動態SQL 無許可權錯誤SQL
- delphi安卓動態許可權申請安卓
- Android6.0許可權適配及相容庫的實現Android
- bookStore續篇【新增許可權:動態代理和註解】
- android 6.0許可權機制的簡單封裝(支援批量申請許可權)Android封裝
- 基於註解的6.0許可權動態請求框架——JPermission框架
- Resin的中文問題最簡單的解決方法
- 使用動態路由實現許可權管理路由
- vue許可權問題解決方案Vue
- 選單許可權和按鈕許可權設定
- 動態許可權相關的幾個庫分析
- vue+element-ui實現動態的許可權管理和選單渲染VueUI
- Guest許可權突破——許可權提升方法總結(轉)
- Android SELinux avc dennied許可權問題解決方法AndroidLinux
- NODE + JWT + Mongo(簡單實現許可權管理)JWTGo
- 簡單幾行程式碼申請許可權行程
- win10許可權不能打勾怎麼辦 win10管理員許可權不能打勾解決方法Win10
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- Oracle許可權(二)許可權相關的動態效能檢視與資料字典檢視Oracle
- Vue 配合eiement動態路由,許可權驗證Vue路由
- 許可權系統設計(5)--動態性
- 一個簡單的Vue按鈕級許可權方案Vue
- spring aop實現簡單的許可權控制功能Spring
- django開發之許可權管理(一)——許可權管理詳解(許可權管理原理以及方案)、不使用許可權框架的原始授權方式詳解Django框架
- 為什麼win10沒有管理員許可權_win10沒有管理員許可權的解決方法Win10
- ubuntu下解決wireshark許可權問題Ubuntu
- 動態許可權的使用以及RxPermissions原始碼分析原始碼