1.为什么使用它?
相比较原始获取权限的方式,RxPermissions的使用更加的灵活,如:原始的获取权限只能在一开始就获取,而相比较前一种方式,后一种就可以自己进行选择,自己可以设置一个点击事件来触发它。
2.如何使用:
①:导入依赖 implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
implementation 'io.reactivex.rxjava2:rxjava:2.2.6'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
②RxPermissions rxPermissions = new RxPermissions(this);
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rxPermissions.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
if (aBoolean){
Toast.makeText(MainActivity.this, "允许授权", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this, "不允许授权", Toast.LENGTH_SHORT).show();
}
}
});
}