推荐一款非常好用方便的android 6.0权限申请工具

2019-04-23  本文已影响0人  思念那么凉

引用至点击打开链接

androidStudio使用方法 :

1.在项目的root gradle.build中

allprojects {    repositories {        maven { url "https://jitpack.io" } // 加入这句话    }}

2.在lib工程下的build.gradle中

compile 'com.github.yxping:EasyPermissionUtil:v0.1.0'

PermissionUtil.java

/** * 检查单个权限是否被允许,不会进行权限的申请.(注意:当应用第一次安装的时候,不会有rational的值,此时返回均是denied) */public int checkSinglePermission(String permission);/** * 检查多个权限的状态,不会进行权限的申请.(注意:当应用第一次安装的时候,不会有rational的值,此时返回均是denied) */public Map<String, List<PermissionInfo>> checkMultiPermissions(String... permissions);/** * 申请权限方法 */public void request(@NonNull String[] permissions, PermissionResultCallBack callBack);public void request(@NonNull String[] permissions, PermissionOriginResultCallBack callBack);/** * 用于fragment中请求权限 */public void request(Fragment fragment, String[] permissions, PermissionResultCallBack callBack);public void request(Fragment fragment, String[] permissions, PermissionOriginResultCallBack callBack);/** * 用于activity中请求权限 */public void request(Activity activity, String[] permissions, PermissionResultCallBack callBack);public void request(Activity activity, String[] permissions, PermissionOriginResultCallBack callBack);

申请权限非常方便,一个方法搞定:

PermissionUtil.getInstance().request(getActivity(), new String[]{Manifest.permission.READ_PHONE_STATE,
                        Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION,
                        Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},
                new PermissionResultCallBack() {
                    @Override
                    public void onPermissionGranted() {
                        // 当所有权限的申请被用户同意之后,该方法会被调用

                    }

                    @Override
                    public void onPermissionGranted(String... strings) {
                        // 当所有权限的申请被用户同意之后,该方法会被调用
                    }

                    @Override
                    public void onPermissionDenied(String... permissions) {
                        Toast.makeText(getActivity(),"部分权限被禁止需要手动开启",Toast.LENGTH_SHORT).show();
                        // 当权限申请中的某一个或多个权限,被用户曾经否定了,并确认了不再提醒时,也就是权限的申请窗口不能再弹出时,该方法将会被调用
                    }

                    @Override
                    public void onRationalShow(String... permissions) {
                        Toast.makeText(getContext(),"部分权限被禁止需要手动开启",Toast.LENGTH_SHORT).show();
                        // 当权限申请中的某一个或多个权限,被用户否定了,但没有确认不再提醒时,也就是权限窗口申请时,但被否定了之后,该方法将会被调用.
                    }

                });
上一篇下一篇

猜你喜欢

热点阅读