# PermissionUtil **Repository Path**: awakeningcode/PermissionUtil ## Basic Information - **Project Name**: PermissionUtil - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-06 - **Last Updated**: 2021-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PermissionUtil ## 1、android 权限申请工具类库 ## android 权限申请的回调在activity里面,在本类库中,为了方便在fragment等其他需要权限的地方申请和处理回调,在每次申请时,都会启动一个透明的activity,并在透明activity里面申请权限和处理回调,然后在透明activity任务完成后finish掉。 ### 特点: 1. 可以在任意地方发起权限申请; 2. 可以统一处理权限回调; 3. 新增维护一个请求队列,依次处理请求,在连续多次发起请求时,不会造成回调冲突; 4. 已经拥有申请的全部权限或api版本小于23,都会返回申请成功。 博客地址:[https://blog.csdn.net/liu_xiong/article/details/89711470](https://blog.csdn.net/liu_xiong/article/details/89711470 "csdn地址") ## 2、效果 ## 申请时拒绝,拒绝后会回调被拒绝的权限,可以对被拒绝的权限进行说明,并重新申请。 ![](https://img-blog.csdnimg.cn/20190501115628756.gif) 申请时权限被拒绝,并勾选了不再询问,可以请求用户去设置里面打开。 ![](https://img-blog.csdnimg.cn/20190501115925903.gif) ## 2、gradle 配置 ## project的build.gradle allprojects { repositories { ... maven { url 'https://jitpack.io' } } } app的build.gradle dependencies { implementation 'com.github.liuxiong1992:PermissionUtil:1.5' } ## 3、使用方式一:单独处理失败回调 ## 要申请的权限 final String[] permission= new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA, Manifest.permission.READ_PHONE_STATE}; 要申请权限的回调 PermissionCallback callback=new PermissionCallback() { @Override public void onPermissionGranted() { toast("权限申请成功--方式1"); } @Override public void shouldShowRational(final RequestBean requestBean,String[] rationalPermissons, final boolean before) { StringBuilder sb=new StringBuilder(); sb.append("我们将获取以下权限:\n\n"); for(int i=0;i