美文网首页
RxPermissions动态权限

RxPermissions动态权限

作者: 李庆雪 | 来源:发表于2017-03-08 17:18 被阅读0次

    用基于Rxjava设置动态权限
    RxPermissions GitHub地址

    要使用此库,您的minSdkVersion必须 > = 11

    1.下载RxPermissions

    在 build.gradle中 :

    repositories {
        jcenter() //如果没有就添加,有就不用添加了
    }
    
    dependencies {
        compile 'com.tbruyelle.rxpermissions:rxpermissions:0.9.3@aar'
    }
    

    2.支持Rxjava2

    RxPermissions支持RxJava2,只需将包名称更改为com.tbruyelle.rxpermissions2。

    dependencies {
        compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.3@aar'
    }
    

    3.版本9

    版本0.8或更早的版本获得RxPermissions的方式为:

    RxPermissions.getInstance(this) -> new RxPermissions(this);
    

    从版本0.9开始RxPermissions类不再是单例。创建RxPermissions实例的方式为:

    RxPermissions rxPermissions = new RxPermissions(this);
    

    4.用法

    • 例如进行相机权限的请求:
    rxPermissions
        .request(Manifest.permission.CAMERA)
        .subscribe(granted -> {
            if (granted) { // Always true pre-M
               // 权限通过后执行
            } else {
               // 拒绝权限后执行
            }
        });
    
    • 进行多个权限的请求:
    rxPermissions
        .request(Manifest.permission.CAMERA,
                 Manifest.permission.READ_PHONE_STATE)
        .subscribe(granted -> {
            if (granted) {
               // 所有权限允许后执行
            } else {
               // 有一个不允许后执行
            }
        });
    

    当然进行权限设置的时候都是用的lambda表达式,当然也可以不用这样所,不过我比较喜欢用表达式,这样代码很简洁.

    相关文章

      网友评论

          本文标题:RxPermissions动态权限

          本文链接:https://www.haomeiwen.com/subject/xmubgttx.html