项目简介
本项目是基于Android平台的权限管理系统,助力开发者更便捷地处理Android应用中的权限请求与权限变更事件。借助注解和回调监听器,开发者能轻松管理应用权限,并依据权限请求结果执行对应操作。
项目的主要特性和功能
- 动态权限适配:支持Android 4.3到6.0的动态权限适配,权限请求失败时主动触发操作,捕获异常信息并回传状态。
- 注解回调监听:提供@PermissionSucc、@PermissionFail、@PermissionAgain、@PermissionDenied等多种注解,开发者可用注解标记方法,按权限请求结果自动调用。
- 普通回调监听:支持实现OnPermissionChangeListener接口监听权限变更事件,开发者可在权限请求成功、失败、再次请求和拒绝时执行自定义逻辑。
- 多平台权限管理:针对华为、小米、魅族等不同Android设备厂商,提供特定权限管理实现,确保不同设备上权限请求处理无误。
- 权限检测与处理:提供多种权限检测方法,依据不同Android系统版本采取不同权限请求策略,保证权限请求的兼容性与稳定性。
安装使用步骤
假设用户已下载本项目的源码文件:
1. 导入项目:将下载的源码文件导入到Android Studio或其他IDE中。
2. 配置依赖:在项目的build.gradle文件中添加以下依赖:
   gradle
   dependencies {
       implementation project(':permission_core')
       implementation project(':permission_annotation')
       annotationProcessor project(':permission_processor')
   }
3. 请求权限:在需要请求权限的Activity或Fragment中,使用PermissionManager类进行权限请求。例如:
   ```java
   PermissionManager.get(HomeFragment.this)
                    .setPermissionName(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
                    .setRequestCode(code)
                    .setPageType(IntentType.GOOGLE_SETTING)
                    .setOnPermissionChangeListener(new OnPermissionChangeListener() {
                        @Override
                        public void onSucc(int code, List
                    @Override
                    public void onFail(int code, List<String> list) {
                        Log.e("dsds", "cameraFail ==> code = " + code + ", name = " + list.toString());
                        Toast.makeText(getContext(), "获取相机权限失败", Toast.LENGTH_SHORT).show();
                    }
                    @Override
                    public void onAgain(int code, List<String> list) {
                        Log.e("dsds", "onAgain ==> code = " + code + ", name = " + list.toString());
                        Toast.makeText(getContext(), "获取相机权限, 弹窗", Toast.LENGTH_SHORT).show();
                    }
                    @Override
                    public void onDenied(int code, List<String> list, Intent intent) {
                        Log.e("dsds", "onDenied ==> code = " + code + ", name = " + list.toString() + ", action = " + intent.getAction());
                        Toast.makeText(getContext(), "获取相机权限, 拒绝", Toast.LENGTH_SHORT).show();
                    }
                })
                .request();
4. **处理权限结果**:在Activity或Fragment中重写`onRequestPermissionsResult`方法,处理权限请求的结果:java
   @Override
   public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
       PermissionManager.onRequestPermissionsResult(SplashActivity.this, requestCode, grantResults);
       super.onRequestPermissionsResult(requestCode, permissions, grantResults);
   }
   5. **使用注解处理权限**:在需要处理权限的方法上添加相应的注解,例如:java
   @PermissionSucc(code)
   public void onSucc(int code, List
通过以上步骤,可在Android应用中集成权限管理系统,并按需进行权限请求和处理。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】