无障碍服务配置 — AutoJs6 能用的最关键一步
为什么需要无障碍服务
无障碍服务(Accessibility Service)是 Android 系统为辅助功能应用提供的官方 API。AutoJs6 通过注册无障碍服务,才能获得以下核心能力:
- 读取屏幕上的控件信息(选择器定位的前提)
- 模拟点击、滑动、长按等触摸事件
- 监听窗口变化、按键事件等系统事件
- 自动化执行无需 Root
没有开启无障碍服务 = AutoJs6 只能作为普通的 JavaScript IDE 使用,所有自动化功能都无法工作。
开启步骤
方法一:从 AutoJs6 应用内跳转(推荐)
- 打开 AutoJs6 应用
- 点击左侧抽屉按钮(三条横线图标)
- 找到「无障碍服务」开关,点击开启
- 系统会自动跳转到设置页面
- 找到「AutoJs6」对应的服务项
- 打开开关,确认弹窗
方法二:手动进入系统设置
不同 Android 版本和厂商 ROM 的路径略有差异:
原生 Android:设置 → 无障碍 → 无障碍服务 → 找到 AutoJs6 → 开启
小米 MIUI / Redmi:设置 → 更多设置 → 无障碍 → 已下载的服务 → AutoJs6 → 开启
华为 EMUI / 鸿蒙:设置 → 辅助功能 → 无障碍 → 已下载的服务 → AutoJs6 → 开启
OPPO / ColorOS:设置 → 其他设置 → 无障碍 → 已下载的服务 → AutoJs6 → 开启
Vivo / OriginOS:设置 → 快捷与辅助 → 无障碍 → 已下载的服务 → AutoJs6 → 开启
开启后验证
开启成功后,AutoJs6 会收到系统回调,应用主界面的状态指示器会显示「无障碍服务:已开启」。也可以在脚本中主动检查:
// 检查无障碍服务状态
if (!auto.state) {
toast("请先开启无障碍服务");
// 跳转到设置页
auto.openAutoSetting();
} else {
toast("无障碍服务已就绪");
}
v6.7 新增
auto.state属性(getter),可直接获取无障碍服务状态。
防止被系统关闭
Android 系统为了省电,可能会在后台清理无障碍服务进程。以下方法可以降低被清理的概率:
加入电池优化白名单
- 打开系统设置 → 电池 / 电量管理
- 找到 AutoJs6
- 设置为「不限制」或「无限制」
加入自启动白名单
- 小米:安全中心 → 应用管理 → 自启动
- 华为:手机管家 → 自启动管理
- OPPO:设置 → 电池 → 允许应用自启动
- Vivo:i管家 → 应用管理 → 自启动
锁定后台
部分系统支持在最近任务列表中下拉或长按应用卡片,选择「锁定」防止被清理。
监控服务状态
在脚本中定期检查服务状态,断开时自动提示用户:
// 定时检查,每 30 秒一次
setInterval(() => {
if (!auto.state) {
console.error("无障碍服务已断开,请重新开启");
// 发送通知或弹窗提醒
}
}, 30000);
常见问题
Q: 开启无障碍服务后又自动关闭了? A: 检查是否在电池优化白名单中,以及是否被系统后台清理。MIUI/ColorOS/EMUI 等定制系统尤其需要注意。
Q: 开启无障碍服务时系统弹出警告? A: Android 系统会提示无障碍服务可以读取窗口内容、执行操作等。确认是自己安装的 AutoJs6 应用即可放心开启。
Q: 多个自动化应用的无障碍服务冲突? A: 大部分情况下不会冲突。如果遇到问题,可关闭其他自动化应用的无障碍服务再试。