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(); } } });
}