一句话搞定,简化 Android 6.0 系统复杂的权限操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/lijinweii/article/details/92967453

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

使用 Gradle 构建时添加一下依赖即可:compile 'com.mylhyl:acp:1.2.0'

  • 特定
  1. 支持批量权限申请,不需要重写 onRequestPermissionsResult 方法,Activity 与 Fragment 中用法一致,一句话搞定。
  2. 处理权限拒绝,或勾选不再询问,导致不能正常使用功能的提示框,支持跳转设置权限界面开启权限,所有提示框文字可自定义。
  •  使用说明
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,都是坑爹的无解,小弟不才帮不到大家,望大神指点一二三!

  • 效果图

  • 项目地址

https://github.com/mylhyl/AndroidAcp

猜你喜欢

转载自blog.csdn.net/lijinweii/article/details/92967453