RxPermission申请权限无效
程序员文章站
2022-03-11 18:53:04
RxPermission申请权限无效今天在用Kotlin改写之前的权限申请的时候,出现权限申请无效的问题,开始着手解决问题。1. 判断是否是表达式写错java:String permissions = "android.permission.SIGNAL_PERSISTENT_PROCESSES";RxPermissions rxPermissions = new RxPermissions(MainActivity.this);rxPermissions.requestEach(permis...
RxPermission申请权限无效
今天在用Kotlin改写之前的权限申请的时候,出现权限申请无效的问题,开始着手解决问题。
1. 判断是否是表达式写错
java:
String permissions = "android.permission.SIGNAL_PERSISTENT_PROCESSES";
RxPermissions rxPermissions = new RxPermissions(MainActivity.this);
rxPermissions.requestEach(permissions)
.subscribe(new Consumer<Permission>() {
@Override
public void accept(Permission permission) throws Exception {
if (permission.granted) {
// 用户已经同意该权限
//result.agree(permission);
} else if (permission.shouldShowRequestPermissionRationale) {
// 用户拒绝了该权限,没有选中『不再询问』(Never ask again),那么下次再次启动时,还会提示请求权限的对话框
//result.refuse(permission);
} else {
// 用户拒绝了该权限,并且选中『不再询问』,提醒用户手动打开权限
//result.noMoreQuestions(permission);
}
}
});
kotlin:
val rx = RxPermissions(RxPermissionActivity@this)
rx.requestEach(permissions)
.subscribe{
if (it.granted){
}else if (it.shouldShowRequestPermissionRationale){
}else{
}
}
//两种写法都可以
val rxPermissions = RxPermissions(RxPermissionActivity@this)
rxPermissions.requestEach(permissions)
.subscribe { permission ->
if (permission.granted) {
// 用户已经同意该权限
//result.agree(permission);
} else if (permission.shouldShowRequestPermissionRationale) {
// 用户拒绝了该权限,没有选中『不再询问』(Never ask again),那么下次再次启动时,还会提示请求权限的对话框
//result.refuse(permission);
} else {
// 用户拒绝了该权限,并且选中『不再询问』,提醒用户手动打开权限
//result.noMoreQuestions(permission);
}
}
2.判断是否在注册表里面申请
就算是动态权限申请,也需要先在注册表里面申请,这次就是因为这个问题,你申请什么权限,就要在注册表里面先添加。
<uses-permission android:name="android.permission.CAMERA"/>
本文地址:https://blog.csdn.net/qq_43203586/article/details/107966349