RxPermission和Rx2.0的使用

来源:互联网 发布:centos 安装samba 编辑:程序博客网 时间:2024/06/06 02:40

添加依赖:(注意是rxpermission2),如何更新的话,请到githubhttps://github.com/tbruyelle/RxPermissions上切换分支后查看

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

然后添加rxjava2就不列了

rxpermission 到0.9使用有了略微的变化,他不再是一个单例,变化如下

RxPermissions.getInstance(this) -> new RxPermissions(this) // 持有的是activity的实例

可以在应用的启动页就去申请权限,如下例子
requestEach表示请求数组的每一个权限,并可以对单独的权限申请结果做处理,我这里就处理一个权限,

new RxPermissions(this).requestEach(                Manifest.permission.WRITE_EXTERNAL_STORAGE               )                .subscribe(new Consumer<Permission>() {                    @Override                    public void accept(Permission permission) throws Exception {                        if (permission.granted) {                            // 用户已经同意该权限                        } else if (permission.shouldShowRequestPermissionRationale) {                            // 用户拒绝了该权限,没有选中『不再询问』,那么下次再次启动时,还会提示请求权限的对话框                        } else {                            // 用户拒绝了该权限,并且选中『不再询问』                        }                    }                });
原创粉丝点击