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