权限管理
统一管理 Android 运行时权限、系统设置类特殊权限及第三方权限 (如 Shizuku)。
脚本可动态检查是否已授权、动态申请权限,无需提前在模块 build.as 中声明。
from ascript.android.system import permission
权限来源
所有权限常量与 Java 层 airscript.system.Permission 保持同一份,底层由 PermissionCatalog 字典统一维护。
传入 key 时支持三种形式:
- Android 原生权限字符串:
"android.permission.CAMERA" - 模块定义的短别名:
"camera" - 常量引用(推荐):
permission.CAMERA
权限常量
Runtime 类(可弹窗直接申请)
| 常量 | 对应权限 | 说明 |
|---|---|---|
permission.CAMERA | android.permission.CAMERA | 摄像头 |
permission.RECORD_AUDIO / permission.MICROPHONE | android.permission.RECORD_AUDIO | 麦克风/录音 |
permission.READ_SMS / permission.SMS | android.permission.READ_SMS | 读取短信 |
permission.READ_PHONE_STATE / permission.PHONE | android.permission.READ_PHONE_STATE | 读取手机状态 |
permission.READ_PHONE_NUMBERS | android.permission.READ_PHONE_NUMBERS | 读取本机号码 (API 26+) |
permission.ACCESS_FINE_LOCATION / permission.LOCATION | android.permission.ACCESS_FINE_LOCATION | 精确定位 |
permission.ACCESS_COARSE_LOCATION | android.permission.ACCESS_COARSE_LOCATION | 粗略定位 |
permission.BLUETOOTH_CONNECT / permission.BLUETOOTH | android.permission.BLUETOOTH_CONNECT | 蓝牙连接 (API 31+) |
permission.BLUETOOTH_SCAN | android.permission.BLUETOOTH_SCAN | 蓝牙扫描 (API 31+) |
permission.POST_NOTIFICATIONS / permission.NOTIFICATION | android.permission.POST_NOTIFICATIONS | 发送通知 (API 33+) |
permission.READ_CONTACTS / permission.CONTACTS | android.permission.READ_CONTACTS | 读取通讯录 |
permission.READ_EXTERNAL_STORAGE / permission.STORAGE | android.permission.READ_EXTERNAL_STORAGE | 读取外部存储 |
permission.WRITE_EXTERNAL_STORAGE | android.permission.WRITE_EXTERNAL_STORAGE | 写入外部存储 |
Settings 类(需跳转系统设置页手动勾选)
| 常量 | 说明 |
|---|---|
permission.ACCESSIBILITY_SERVICE | 辅助功能(无障碍) |
permission.NOTIFICATION_LISTENER | 通知监听 |
permission.USAGE_STATS | 应用使用情况访问 |
permission.SYSTEM_ALERT_WINDOW / permission.OVERLAY | 悬浮窗 |
permission.WRITE_SETTINGS | 修改系统设置 |
permission.MANAGE_EXTERNAL_STORAGE | 所有文件访问 (API 30+) |
permission.INSTALL_PACKAGES | 安装未知来源应用 (API 26+) |