XXPermissions
基于 Google 推荐的 Android 运行时权限请求框架 XXPermissions (v28.3) 源码生成。当 AI 编码智能体需要处理 Android 权限相关任务时自动触发,包括:动态申请危险权限(相机、定位、存储、传感器等)、跳转特殊权限设置页(悬浮窗、通知、安装应用等)、权限状态检查、权限设置页引导、自定义权限拦截器等场景。
详细解释
1. 框架定位
XXPermissions 是 GitHub 上最流行的 Android 权限请求框架之一(月下载 40 万+),支持全部 150+ 种危险权限和特殊权限,覆盖 Android 6.0 ~ Android 17 的所有权限变更。
2. 核心架构
入口类 XXPermissions 提供链式 API:with() → permission() → request()。权限对象通过 PermissionLists 工厂方法获取(非直接 new),支持 Activity / Fragment / AndroidX Fragment 三种上下文。
3. 覆盖的权限类型
| 类别 | 数量 | 典型权限 |
|---|---|---|
| 危险权限 | 30+ | 相机、麦克风、定位、联系人、日历、电话、短信、传感器 |
| 存储权限 | 8 | READ_MEDIA_IMAGES/VIDEO/AUDIO、MANAGE_EXTERNAL_STORAGE 等 |
| 蓝牙权限 | 3 | BLUETOOTH_SCAN/CONNECT/ADVERTISE |
| 特殊权限 | 11+ | 悬浮窗、写入设置、忽略电池优化、安装应用、画中画、闹钟等 |
| 健康数据 | 50+ | Health Connect 心率/步数/睡眠/血压/血糖等 |
| 通知权限 | 2 | POST_NOTIFICATIONS、NOTIFICATION_SERVICE |
4. 关键接口
OnPermissionCallback— 权限请求结果回调(grantedList, deniedList)OnPermissionInterceptor— 拦截器,在请求前后插入自定义逻辑(如弹 Dialog 引导)OnPermissionDescription— 描述器,在请求前展示权限说明 UIIPermission— 权限对象接口,可继承实现自定义权限
5. 技能包含的内容
- Gradle 依赖集成步骤 + AndroidManifest.xml 配置模板
- 完整权限速查表(方法名 → 权限名 → 适用版本)
- 7 个典型使用示例(单权限、多权限、定位、存储、通知、健康、无障碍)
- 工具方法参考(权限检查、跳转设置页、全局配置)
- 高级功能指南(自定义拦截器、描述器、自定义权限类)
- 8 条编码注意事项(后台权限搭配、通知权限互斥、检查模式等)
- API 快速参考支持文件
6. 触发条件
当对话涉及以下场景时自动触发:
- Android 权限请求 / 运行时权限
- 危险权限 / 特殊权限申请
- 悬浮窗、通知、定位、相机、存储、蓝牙等具体权限
- XXPermissions 框架的使用
v28.3.0
2026-08-03
下载