Android 中RxPermissions 的使用方法详解
以请求拍照、读取位置权限为例
dependencies {
// RxPermissions 的使用方法详解
implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.2.4'
}
还有在最外面那个文件夹下面的build.gradle 加入
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
第二步,在AndroidManifest.xml中添加自己需要用到的权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA"/>
RxPermissions rxPermissions = new RxPermissions(this);
2、RxPermissions 里面的方法具体实现
public static final String[] permissionsGroup =new String[]{
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA};
rxPermissions.requestEach(permissionsGroup)
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Permission permission) {
//这里判断用户是否同意了该权限,如:
if(permission.name.equals(Manifest.permission.CAMERA)){
//已获取权限,可以干想干的咯
}else{
//主人,我被禁止啦,去设置权限设置那把我打开哟
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
网友评论