回答
要实现自动运行的番茄工作法脚本,你需要完成权限配置、编写兼容脚本、并设置自动运行机制。以下是完整步骤:
1. 权限准备(关键)
脚本依赖系统权限才能稳定运行,未授权会导致脚本启动后立即退出:
- 开启无障碍服务:手机设置 → 无障碍 → 已下载的服务 → 开启 Hamibot。
- 授予后台弹窗权限:设置 → 应用管理 → Hamibot → 权限 → 允许“后台弹出界面”。
- 关闭电池优化:设置 → 电池 → 电池优化 → 找到 Hamibot → 选择“不优化”,防止系统清理后台进程。
2. 脚本代码
在 Hamibot 控制台新建脚本,粘贴以下代码。代码已适配 Rhino 1.7.15 引擎,避免使用箭头函数与默认参数:
// 文档地址 https://docs.hamibot.com/
var workMinutes = 25;
var breakMinutes = 5;
var longBreakMinutes = 15;
var cyclesPerRound = 4;
function startPomodoro() {
while (true) {
for (var i = 1; i <= cyclesPerRound; i++) {
toast("第 " + i + " 个番茄钟开始,专注 " + workMinutes + " 分钟");
sleep(workMinutes * 60 * 1000);
toast("专注结束,休息 " + breakMinutes + " 分钟");
sleep(breakMinutes * 60 * 1000);
}
toast("完成一轮,长休息 " + longBreakMinutes + " 分钟");
sleep(longBreakMinutes * 60 * 1000);
toast("新一轮开始");
}
}
startPomodoro();
3. 设置自动运行
- 常驻运行:保存脚本后,在 Hamibot App 中点击运行。脚本会进入无限循环,直到你手动停止或系统强制清理。
- 定时启动:在 Hamibot 控制台或 App 的“定时任务”模块中,添加该脚本并设置触发时间(如工作日 9:00)。系统会在指定时间自动拉起脚本。
- 循环调度:若需按固定周期重启,可使用
engines.execScript配合loopTimes与interval参数,但上述while(true)方案在单脚本内更稳定且资源占用更低。
4. 最佳实践与注意事项
sleep()为阻塞调用,脚本运行期间会暂停后续代码执行,适合纯计时场景。若需同时执行其他自动化操作,需改用threads.start()开启多线程。- 长时间运行建议添加日志记录,例如使用
console.log()输出状态,便于排查意外中断原因。 - 若需结合具体应用(如自动打开专注App、锁屏),可在
toast前后插入launchApp("应用名")或device.lockScreen()。 - 确保 Hamibot 保持在前台或加入系统白名单,部分厂商ROM会严格限制后台服务,可能导致计时中断。
按上述配置后,脚本即可实现全自动番茄钟循环。如遇运行异常,优先检查无障碍服务状态、后台弹窗权限及电池优化设置。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实