android 权限动态申请 RxPermissions使用

git地址点击打开链接

引用

compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar'

使用方法如下,直接使用不需要判断是否在6.0之上,这是kotlin的语法跟java没区别

val rxPermissions = RxPermissions(this)
        rxPermissions.requestEach(Manifest.permission.CAMERA,
                Manifest.permission.WRITE_EXTERNAL_STORAGE)
                .compose(this.bindToLifecycle<Permission>())//绑定生命周期回收订阅需引用rxlifecycle没用引用可以不加此句
                .subscribe { // will emit 2 Permission objects
                    permission ->
                    when {
                        permission.granted -> {
                            Log("权限", "权限被允许")
                        }
                        permission.shouldShowRequestPermissionRationale -> {
                            Log("权限", "权限被拒绝没有选择不再询问")
                        }
                        else -> {
                            Log("权限", "权限被允许选择了不再询问")
                        }
                    }
                }

RxPermissions已经判断
 boolean isMarshmallow() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
    }

    public boolean isGranted(String permission) {
        // 如果是Android 6.0 (Api 23)之前,则权限被允许使用。
        return !isMarshmallow() || mRxPermissionsFragment.isGranted(permission);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值