推荐一款非常好用方便的android 6.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();
                        // 当权限申请中的某一个或多个权限,被用户否定了,但没有确认不再提醒时,也就是权限窗口申请时,但被否定了之后,该方法将会被调用.
                    }

                });


发布了29 篇原创文章 · 获赞 40 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/xiyunmengyuan/article/details/80434344