运行模式与权限
accbotTsSdk 的很多能力依赖设备状态和授权结果。第三方接入时,建议先明确运行模式,再根据能力模块检查权限。
常见运行模式
从现有项目说明来看,AccBot 至少覆盖以下场景:
- 普通 App 模式:适合将 Web 页面或前端工程打包成应用后运行
- ADB 模式:通过 ADB 激活,便于开启高级权限与调试链路
- Root 模式:适合已 Root 的设备
- 定制系统模式:适合具备更深系统控制能力的环境
对第三方开发者而言,最关键的是:SDK 方法能否调用成功,取决于当前设备环境是否提供对应权限与底层能力。
建议先检查的权限
可以先用 openXxx(false) 查询权限状态;只有明确需要拉起授权时,再传 true。
无障碍
- 方法:
android.auth.openAccessibilityService(open) - 参数:
open: boolean - 返回:
Promise<boolean> - 用途:节点查询、节点动作、很多自动化操作都依赖无障碍
const enabled = await android.auth.openAccessibilityService(false)系统设置
- 方法:
android.auth.openSysSetting(open) - 用途:需要修改系统设置时使用
省电优化
- 方法:
android.auth.openPower(open) - 用途:避免后台能力被系统限制
悬浮窗
- 方法:
android.auth.openFloatWindow(open) - 用途:悬浮窗日志、悬浮控制相关功能
必要权限
- 方法:
android.auth.openMustPermissions(open) - 用途:SDK 基础能力依赖的关键权限集合
文件权限
- 方法:
android.auth.openAllFile(open) - 用途:读写外部文件、图片、日志时常用
录屏权限
- 方法:
android.auth.openScreenCap(open) - 用途:截图、录屏、视频流相关能力
一个推荐的权限检查顺序
await android.auth.openMustPermissions(false)
await android.auth.openAccessibilityService(false)
await android.auth.openAllFile(false)
await android.auth.openFloatWindow(false)
await android.auth.openScreenCap(false)如果你要做的是节点分析、输入、OCR 或截图,建议在真正跑业务前就把这些状态打出来,避免误把权限问题当成 SDK Bug。
权限问题排查建议
- 先用
false检查,不要一上来就拉起授权 - 确认设备当前运行模式是否支持该能力
- 无障碍权限变更后,注意应用或连接可能会重建
- 截图 / OCR / 视频流失败时,优先核对录屏相关权限
- 文件读写失败时,优先核对
openAllFile(false)
如果需要具体参数和示例,可继续查看 Auth 模块文档。
