每天固定时间打开 App
它解决什么问题
早上 8 点自动打开某个应用、顺手点一下「签到」、再弹一条通知告诉你成了。
这条配方用得最多的是「定时触发节点」—— 它不是任务里的第一步,而是图的另一个入口。
先理解触发节点的位置
一张图有两个入口:
- 手动执行:从「开始节点」进入
- 事件触发:从「定时触发节点」进入
所以触发节点没有执行输入,只有执行输出。你把定时触发放在画布上,把它接到要执行的动作上,到点就从它这里开始跑。
同一个工具里,手动那条链和定时那条链可以共用后半段。
分步做
1. 建工具,加「定时触发节点」
底栏中间加号 →「创建工具」→ 新建程序。
加「定时触发节点」,参数只有一个:定时规则(cron 表达式)。
格式是五段:
分 时 日 月 周
| 想要的效果 | cron |
|---|---|
| 每天 8:00 | 0 8 * * * |
| 工作日 8:00 | 0 8 * * 1-5 |
| 每天 8:00 和 20:00 | 0 8,20 * * * |
| 每 30 分钟 | */30 * * * * |
周几的编号是 0=周日,1=周一 … 6=周六。
2. 接「打开 APP 节点」
定时触发 → 打开 APP(选目标应用)→ 延迟 3000 毫秒。
延迟要给足。到点时手机可能刚亮屏、刚解锁,应用冷启动比平时慢。
3. 加你要做的那一步
比如签到按钮:用「点击节点」,坐标用「记一步」录下来最省事。
或者用「智能点击」—— 说清楚点哪个(比如「签到」),它自己在屏幕上找,不怕按钮位置变。
4. 加「发送通知节点」,让结果可见
参数:
title填「打卡完成」content填「已打开 XX 并签到」
这一步的意义不是通知本身,是让你知道它跑了。没有这条通知,任务失败了你也看不出来。
5. 关键一步:把这个工具挂进一个任务
光有工具不会响。 触发索引是遍历「任务 → 任务里的工具」建出来的(rebuildTriggerRegistryNow 里就是 for (loop in loops) for (tool in loop.tools)),所以工具必须作为一步被某个任务引用,定时才会注册。
做法:
- 回运行页,「创建任务」
- 加一步「新自定义工具」,选刚做的这个工具
- 保存任务
保存即生效 —— 工具保存和任务保存时都会自动重建触发索引,不用重启 App,也没有「手动登记」这个开关。
有一点要接受:任务到点会跑这一整套步骤,而这个工具本身只做「定时触发 → 打开 APP → ...」。所以任务里除了这一步,不要再放别的东西,否则会跟着一起跑。
用到的节点
| 节点 | 干什么 |
|---|---|
| 定时触发节点 | cron 定的到点入口,没有执行输入 |
| 打开 APP 节点 | 从桌面进目标应用 |
| 延迟节点 | 等冷启动 |
| 点击节点 / 智能点击 | 签到那一下 |
| 发送通知节点 | 让你知道跑成功了 |
容易踩的坑
- 延迟给少了。 手动跑正常、定时跑失败,八成是冷启动慢。定时这条链的延迟至少比手动多一倍。
- 手机息屏深度休眠会延迟触发。 系统省电策略下,定时可能晚几分钟。要准点,给应用关掉电池优化。
- cron 的星期是 0 开头。 想「每周一」写
1,写0是周日。 - 只加触发节点不挂进任务,什么都不会发生。 触发索引只认「任务里的工具」,单独一个工具不会注册。
*/N只支持每分钟步进且 N 不小于 15。 写*/5 * * * *不是「每 5 分钟」,这种需求要拆成多条定时。