当前位置: 移动技术网 > IT编程>开发语言>Java > RxPermission申请权限无效

RxPermission申请权限无效

2020年08月14日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网