Github地址
我的博客地址

前言:动态权限管理是Android6.0(B>uild.VERSION_CODES.M =Api23)推出的,提醒用户当前APP所需>要的权限,防止滥用。这些权限一般分为三种:

(1)普通权限:直接manifest清单文件中写上注册就行了
(2)危险权限:需要动态申请
(3)特殊权限:一般用不上。

原声的动态权限管理很麻烦,代码也不够优雅,因此就有很多的动态权限管理库,比较出名一点的有:

  1. EasyPermissions
  2. RuntimePermission
  3. RxPermissions

相较于其他的权限管理库,RxPermissions的代码最为简洁,逻辑也更加清晰。


##首先引入RxPermissions:


关键代码如下:

RxPermissions rxPermissions = new RxPermissions(this);
        rxPermissions
                .requestEach(Manifest.permission.READ_PHONE_STATE,//读取电话
                        Manifest.permission.ACCESS_COARSE_LOCATION)//获取位置信息
                .subscribe(permission -> {
                    if (permission.granted) {
                        Log.d("rxPermissions", permission.name + "同意了");
                        switch (permission.name) {
                            case Manifest.permission.READ_PHONE_STATE:
                                break;
                            case Manifest.permission.ACCESS_COARSE_LOCATION:
                                break;
                        }
                    } else if (permission.shouldShowRequestPermissionRationale) {
                        Log.d("rxPermissions", permission.name + "拒绝了");
                        switch (permission.name) {
                            case Manifest.permission.READ_PHONE_STATE:
                                break;
                            case Manifest.permission.ACCESS_COARSE_LOCATION:
                                break;
                        }
                    } else {
                        switch (permission.name) {
                            case Manifest.permission.READ_PHONE_STATE:
                                break;
                            case Manifest.permission.ACCESS_COARSE_LOCATION:
                                break;
                        }
                        Log.d("rxPermissions", permission.name + "拒绝并不再提示了");
                    }
                });

##运行结果:
Andorid6.0 动态权限管理
Andorid6.0 动态权限管理

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-09
  • 2021-12-02
  • 2021-07-07
猜你喜欢
  • 2021-04-15
  • 2021-08-14
  • 2022-12-23
  • 2021-12-04
  • 2021-04-18
  • 2021-09-12
  • 2021-04-14
相关资源
相似解决方案