Quote to click to open link
How to use androidStudio:
1. In the project's root gradle.build
allprojects {
repositories {
maven {url " https://jitpack.io " } // Add this sentence
}
}
2. In build.gradle under lib project
compile 'com.github.yxping:EasyPermissionUtil:v0.1.0'
PermissionUtil.java
/ ** * Check whether a single permission is allowed, and no permission will be applied. (Note: when the application is installed for the first time, there will be no rational value, and the return is denied at this time) * / public int checkSinglePermission ( String permission); / ** * Check the status of multiple permissions and will not apply for permission. (Note: when the application is installed for the first time, there will be no rational value, and the return is denied at this time) * / public the Map < String , List < PermissionInfo > > checkMultiPermissions ( String . .. permissions); / ** * request access method * / public void request ( @NonNull String [] permissions, PermissionResultCallBack callBack); public void request ( @NonNull String [] permissions, PermissionOriginResultCallBack callBack); / ** * Used to request permission in fragment * / public void request ( Fragment fragment, String [] permissions, PermissionResultCallBack callBack); public void request ( Fragment fragment, String [] permissions, PermissionOriginResultCallBack callBack); / ** * Used to request permission in activity * / public void request ( Activity activity, String [] permissions, PermissionResultCallBack callBack); public void request(Activity activity, String[] permissions, PermissionOriginResultCallBack callBack);
It is very convenient to apply for permission, one way to get it:
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();
// 当权限申请中的某一个或多个权限,被用户否定了,但没有确认不再提醒时,也就是权限窗口申请时,但被否定了之后,该方法将会被调用.
}
});