android 动态权限库,AndroidPermissionX一个Android动态权限处理库

AndroidPermissionX是一个旨在解决Android应用在处理多个动态权限申请时遇到的回调复杂性和用户拒绝权限后的精确解释问题的库。它提供了类回调和注解回调两种方式,简化了权限请求的代码,支持链式调用,并能优雅地处理用户拒绝授权的情况。通过添加特定注解,可以方便地定义权限授权成功的回调方法和失败的回调方法,提高代码的可读性和简洁性。
摘要由CSDN通过智能技术生成

AndroidPermissionX

Android动态权限处理库

为什么有那么多动态权限处理库,我还要造这个轮子

解决多权限申请时,部分机型存在多次回调问题

解决多权限申请时,用户拒绝其中某个权限,再次申请时,不能对于该权限进行精确解释的问题

优点

链式调用,请求和回调一条链解决

提供类回调方式和注解回调方式,更多选择(建议使用注解回调,代码会更简洁)

代码追求极简风格,尽量减少使用者编写额外代码,简洁、易用、易懂

使用

首先在项目中添加依赖

dependencies {

compile 'com.xiaosu:permission:1.0.0'

}

1、使用类回调方式:

PermissionCompat.create(this)

.permissions(Manifest.permission.CAMERA,

Manifest.permission.WRITE_EXTERNAL_STORAGE,

Manifest.permission.RECORD_AUDIO)

.explain("相机解释", "存储解释","录音解释")

.retry(true)

.callBack(new OnRequestPermissionsCallBack() {

@Override

public void onGrant() {

// todo 权限授权成功回调

}

@Override

public void onDenied(String permission, boolean retry) {

// todo 权限授权失败回调

}

})

.build()

.request();

2、使用注解回调方式:

PermissionCompat.create(this)

.permissions(Manifest.permission.CAMERA,

Manifest.permission.WRITE_EXTERNAL_STORAGE,

Manifest.permission.RECORD_AUDIO)

.explain("相机解释", "存储解释","录音解释")

.retry(true)

.compactCallBack(回调的对象, 请求的id)

.build()

.request();

在回调的对象的类中写一个权限授权成功的方法(----方法上添加注解@OnGrant(请求的id)----):

@OnGrant(请求的id...)

public void onGrant() {

// todo 权限授权成功回调

}

在回调的对象的类中写一个权限授权失败的方法(----方法上添加注解@OnDeny(请求的id)----):

@OnDeny(请求的id...)

public void onDeny(String permission, boolean retry) {

// todo 权限授权失败回调

}

注意

1、使用注解回调时,OnDeny注解的函数必须是public,参数是(String permission, boolean retry),retry为false表示用户点击了不再询问禁止了授权;OnGrant注解的函数必须是public,没有参数

2、retry需要配合explain函数,用户拒绝授权后,如果配置了retry(true)就会向用户展示配置的explain,并再次申请授权。默认retry是false

详细使用方式,请clone代码查看

最后

非常欢迎能够提出修改意见和BUG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值