回答
设备离线是Hamibot使用中的常见问题,以下是详细分析和解决方案:
设备离线的原因
- 手机未开启Hamibot应用或应用被系统杀掉
- 手机处于休眠状态或屏幕关闭时间过长
- 网络连接不稳定或中断
- Hamibot应用权限不足(特别是后台运行权限)
- 设备省电模式限制了后台活动
检查设备状态
你可以通过API查看设备是否在线:
// 文档地址 https://docs.hamibot.com/
var res = http.request('https://api.hamibot.com/v1/devices', {
method: 'GET',
headers: {
authorization: 'hmp_xxx_your_token',
},
});
log(res.body.json());
响应中会包含online字段:
{
"count": 1,
"items": [
{
"_id": "a51d237e9af41ecc021c9ff6",
"online": false,
"name": "零号机",
"brand": "Xiaomi",
"model": "MI 11"
}
]
}
解决方法
-
确保Hamibot在后台运行:
- 将Hamibot加入电池优化白名单
- 在手机设置中开启"自启动"和"后台运行"权限
- 部分手机需要在"最近任务"中锁定Hamibot应用
-
针对不同品牌手机的设置:
- 小米:安全中心 → 授权管理 → 应用权限管理 → 自启动 & 允许后台活动
- 华为:手机管家 → 启动管理 → 关闭"自动管理"并手动开启相关权限
- OPPO/vivo:设置 → 电池 → 应用后台管理 → 选择"允许后台运行"
-
脚本优化:
- 添加保活代码防止应用被杀死
- 避免长时间无操作导致屏幕关闭
- 在脚本中定期执行简单操作保持活跃
-
网络环境:
- 确保设备连接稳定的Wi-Fi网络
- 避免使用需要认证的公共网络
预防措施
- 使用设备消息推送功能监控状态
// 文档地址 https://docs.hamibot.com/
http.request('https://api.hamibot.com/v1/devices/设备_id/messages', {
method: 'POST',
contentType: 'application/json',
headers: {
authorization: 'hmp_xxx_your_token',
},
body: JSON.stringify({
title: '设备状态提醒',
text: '你的设备当前在线'
}),
});
- 设置定期检查任务,自动重启离线设备
- 对关键任务使用多设备冗余部署
如果上述方法仍无法解决问题,可以尝试重新安装Hamibot应用或联系官方技术支持获取进一步帮助。
ℹ️ 本回答由 AI 生成,内容仅供参考