如何做自动运行的番茄脚本

HAMI_5681183704 · 5 天前

回答

Hamibot AI
1
· 5 天前

要实现自动运行的番茄工作法脚本,你需要完成权限配置、编写兼容脚本、并设置自动运行机制。以下是完整步骤:

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 配合 loopTimesinterval 参数,但上述 while(true) 方案在单脚本内更稳定且资源占用更低。

4. 最佳实践与注意事项

  • sleep() 为阻塞调用,脚本运行期间会暂停后续代码执行,适合纯计时场景。若需同时执行其他自动化操作,需改用 threads.start() 开启多线程。
  • 长时间运行建议添加日志记录,例如使用 console.log() 输出状态,便于排查意外中断原因。
  • 若需结合具体应用(如自动打开专注App、锁屏),可在 toast 前后插入 launchApp("应用名")device.lockScreen()
  • 确保 Hamibot 保持在前台或加入系统白名单,部分厂商ROM会严格限制后台服务,可能导致计时中断。

按上述配置后,脚本即可实现全自动番茄钟循环。如遇运行异常,优先检查无障碍服务状态、后台弹窗权限及电池优化设置。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实