版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
今天主要讲讲 Android Acp 。Acp 为 Android check permission 缩写,此库简化 Android 6.0 系统复杂的权限操作而编写
使用 Gradle 构建时添加一下依赖即可:compile 'com.mylhyl:acp:1.2.0'
- 特定
- 支持批量权限申请,不需要重写 onRequestPermissionsResult 方法,Activity 与 Fragment 中用法一致,一句话搞定。
- 处理权限拒绝,或勾选不再询问,导致不能正常使用功能的提示框,支持跳转设置权限界面开启权限,所有提示框文字可自定义。
- 使用说明
Acp.getInstance(this).request(new AcpOptions.Builder()
.setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE
, Manifest.permission.READ_PHONE_STATE
, Manifest.permission.SEND_SMS)
/*以下为自定义提示语、按钮文字
.setDeniedMessage()
.setDeniedCloseBtn()
.setDeniedSettingBtn()
.setRationalMessage()
.setRationalBtn()*/
.build(),
new AcpListener() {
@Override
public void onGranted() {
writeSD();
getIMEI();
}
@Override
public void onDenied(List<String> permissions) {
makeText(permissions.toString() + "权限拒绝");
}
});
- 友情提示
在android studio环境 请求Manifest.permission.CALL_PHONE权限时,Intent 不能使用带参的构造函数(Intent.ACTION_CALL),否则会编译通不过的。 由于手机厂商深度定制系统的原因,很多预料不到滴,奇怪滴问题一大堆,如checkSelfPermission永远都是PERMISSION_DENIED或PERMISSION_GRANTED,都是坑爹的无解,小弟不才帮不到大家,望大神指点一二三!
- 效果图
- 项目地址