一、RxPermission使用
1、引用依赖:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
}
2、AndroidManifest.xml声明权限
3、使用用例
①.申请单个权限
public void checkPermissionRequest(FragmentActivity activity) {
RxPermissions permissions = new RxPermissions(activity);
permissions.setLogging(true);
permissions.request(Manifest.permission.READ_EXTERNAL_STORAGE)
.subscribe(new Consumer() {
@Override
public void accept(Boolean aBoolean) throws Exception {
LogUtils.error(TAG, "checkPermission22--:" + aBoolean);
}
});
}
总结
1、返回true:申请成功 ;返回false:申请失败
2、同意后,之后再申请此权限则不再弹出提示框
3、不要使用compose方法,如RxLifeCycle
②.申请多个权限
public void checkPermissionRequest(FragmentActivity activity) {
RxPermissions permissions = new RxPermissions(activity);
permissions.setLogging(true);
permissions.request(Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_CALENDAR)
.subscribe(new Consumer() {
@Override
public void accept(Boolean aBoolean) throws Exception {
LogUtils.error(TAG, "checkPermission22--:" + aBoolean);
}
});
}
总结
1、只要有一个禁止,则返回false;全部同意,则返回true。