项目作者: mylhyl

项目描述 :
一句话搞定,简化Android 6.0 系统复杂的权限操作
高级语言: Java
项目地址: git://github.com/mylhyl/AndroidAcp.git


AndroidAcp

  • Acp 为 Android check permission 缩写,此库简化Android 6.0 系统复杂的权限操作而编写。

特点

  • 支持批量权限申请,不需要重写 onRequestPermissionsResult 方法,Activity 与 Fragment 中用法一致,一句话搞定。
  • 处理权限拒绝,或勾选不再询问,导致不能正常使用功能的提示框,支持跳转设置权限界面开启权限,所有提示框文字可自定义。

效果图

使用Gradle构建时添加一下依赖即可

Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:

  1. allprojects {
  2. repositories {
  3. ...
  4. maven { url 'https://jitpack.io' }
  5. }
  6. }

Step 2. Add the dependency

  1. dependencies {
  2. implementation 'com.github.mylhyl:AndroidAcp:1.2.2'
  3. }

使用说明

  1. Acp.getInstance(this).request(new AcpOptions.Builder()
  2. .setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE
  3. , Manifest.permission.READ_PHONE_STATE
  4. , Manifest.permission.SEND_SMS)
  5. /*以下为自定义提示语、按钮文字
  6. .setDeniedMessage()
  7. .setDeniedCloseBtn()
  8. .setDeniedSettingBtn()
  9. .setRationalMessage()
  10. .setRationalBtn()*/
  11. .build(),
  12. new AcpListener() {
  13. @Override
  14. public void onGranted() {
  15. writeSD();
  16. getIMEI();
  17. }
  18. @Override
  19. public void onDenied(List<String> permissions) {
  20. makeText(permissions.toString() + "权限拒绝");
  21. }
  22. });

友情提示

android studio环境 请求Manifest.permission.CALL_PHONE权限时,Intent不能使用带参的构造函数(Intent.ACTION_CALL),否则会编译通不过的。
由于手机厂商深度定制系统的原因,很多预料不到滴,奇怪滴问题一大堆,如checkSelfPermission永远都是PERMISSION_DENIEDPERMISSION_GRANTED,都是坑爹的无解,小弟不才帮不到大家,望大神指点一二三!

下载APK体验

版本日志

1.1.7 修复内存泄露

1.1.6 Acp单例增加双重锁

1.1.5 兼容小米跳转权限设置

1.1.2 增加M版本检测

1.0.2 修复申请的权限不在AndroidManifest.xml配置文件时,中仍然显示RationalMessage对话框的问题

1.0.1 修改 minSdkVersion 14