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
- android動態許可權到自定義許可權框架Android框架
- 關於動態許可權
- 「Android6.0許可權適配| 掘金技術徵文 」Android
- linux許可權簡單介紹Linux
- 許可權之選單許可權
- Android動態許可權總結Android
- Android SELinux avc dennied許可權問題解決方法AndroidLinux
- android 6.0許可權機制的簡單封裝(支援批量申請許可權)Android封裝
- .net core3.1 abp動態選單和動態許可權(思路) (二)
- 基於註解的6.0許可權動態請求框架——JPermission框架
- spring aop實現簡單的許可權控制功能Spring
- vue許可權問題解決方案Vue
- delphi安卓動態許可權申請安卓
- 使用動態路由實現許可權管理路由
- 選單許可權和按鈕許可權設定
- 動態許可權相關的幾個庫分析
- win10許可權不能打勾怎麼辦 win10管理員許可權不能打勾解決方法Win10
- vue+element-ui實現動態的許可權管理和選單渲染VueUI
- NODE + JWT + Mongo(簡單實現許可權管理)JWTGo
- 一個簡單的Vue按鈕級許可權方案Vue
- 四種許可權修飾符的簡單介紹
- 為什麼win10沒有管理員許可權_win10沒有管理員許可權的解決方法Win10
- django開發之許可權管理(一)——許可權管理詳解(許可權管理原理以及方案)、不使用許可權框架的原始授權方式詳解Django框架
- Android優雅地申請動態許可權Android
- Vue 配合eiement動態路由,許可權驗證Vue路由
- 動態許可權的使用以及RxPermissions原始碼分析原始碼
- vscode在Linux環境下執行“許可權不夠”的解決方法VSCodeLinux
- Android6.0------許可權申請管理(單個許可權和多個許可權申請)Android
- SpringBoot整合SpringSecurityOauth2實現鑑權-動態許可權Spring BootGseOAuth
- android 6.0許可權申請機制(簡單案例)Android
- 用最簡單的例子講解js中解決非同步的方法JS非同步
- 基於vue的簡單許可權管理實現總結Vue
- 第三篇 Superuser定製--許可權靜默攔截(想了好久最簡單的方案)
- Android平臺targetSdkVersion設定及動態許可權Android
- .Net Core JWT 動態設定介面與許可權JWT
- MySQL 許可權詳解MySql
- artisan日誌 root 許可權解決辦法