RxPermissions github地址:https://github.com/tbruyelle/RxPermissions
添加RxPermissions依赖
implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
使用RxPermissions必须搭配RxJava 使用。
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.2.4'
API | 备注 | 回调结果 |
---|---|---|
request | 不支持返回权限名; 返回的权限结果:全部同意时值true,否则值为false | 申请结果:false |
requestEach | 把每一个权限的名称和申请结果都列出来 | 权限名称:android.permission.READ_CONTACTS,申请结果:false 权限名称:android.permission.WRITE_CONTACTS,申请结果:false 权限名称:android.permission.READ_SMS,申请结果:false 权限名称:android.permission.ACCESS_FINE_LOCATION,申请结果:true 权限名称:android.permission.ACCESS_COARSE_LOCATION,申请结果:true |
requestEachCombined | 返回的权限名称:将多个权限名合并成一个; 返回的权限结果:全部同意时值true,否则值为false | 权限名称:android.permission.READ_CONTACTS, android.permission.WRITE_CONTACTS, android.permission.READ_SMS, android.permission.ACCESS_FINE_LOCATION, android.permission.ACCESS_COARSE_LOCATION,申请结果:false |
ensure | 必须配合rxjava, | |
ensureEach | 必须配合rxjava,回调结果跟requestEach一样 | |
ensureEachCombined | 必须配合rxjava,回调结果跟requestEachCombined一样 |
借图:https://www.jianshu.com/p/9c98348c67be