回答
你遇到的问题是调用 events.observeNotification() 时,Hamibot 跳转到了通知权限设置界面。这说明当前设备上的“通知服务”未启用或未正确授权。
原因
events.observeNotification() 依赖于系统的“通知访问权限”(即无障碍服务中的一项功能)。如果 Hamibot 没有获得该权限,就会抛出异常并自动跳转到设置页面。
解决方法
-
手动开启通知监听权限
- 运行脚本后,当跳转到设置页面时:
- 找到 “通知使用权” 或 “通知访问”(不同品牌手机叫法略有差异)。
- 确保 Hamibot 的开关已打开。
- 如果已经开启但仍跳转,请尝试关闭后再重新开启一次(部分安卓系统需要重置才能生效)。
- 运行脚本后,当跳转到设置页面时:
-
检查无障碍服务是否开启
observeNotification同时依赖无障碍服务。- 进入:设置 > 辅助功能 > 无障碍服务 > 找到 Hamibot 并启用。
-
避免重复触发跳转
在代码中添加判断,确保只在必要时请求监听:
// 文档地址 https://docs.hamibot.com/
auto.waitFor(); // 等待无障碍服务启动
if (!events.isNotificationListenerEnabled()) {
toast("请开启通知监听权限");
events.requestNotificationListenerSettings(); // 跳转设置
exit();
}
events.observeNotification();
events.onNotification(function (notification) {
log("收到通知: " + notification.getText());
});
- 某些机型特殊处理(如华为、小米、OPPO)
- 厂商定制系统可能默认禁止后台应用使用通知监听。
- 需要手动在电池管理中设置:
- 关闭省电策略
- 锁定 Hamibot 在最近任务中(防止被清理)
- 开启自启动
验证是否成功
- 成功启用后,再次运行脚本将不再跳转设置页。
- 可通过发送一条微信/QQ消息测试是否能监听到通知内容。
如果你确认权限都已开启但仍无法工作,可以发送邮件到 support@hamibot.cn 提供你的设备型号和系统版本,获取针对性支持。
ℹ️ 本回答由 AI 生成,内容仅供参考