Keep Alive 中文文档 下载 App

无操作计时机制与触发条件详解

Keep Alive 怎么判断"你没动手机"

Keep Alive 提供两种监测方式,本质上都是在看"手机有没有被用":

方式一:锁屏/解锁检测(默认)

应用监听 Android 的锁屏与解锁广播。解锁、手动锁屏、屏幕点亮——任何涉及电源键或触摸输入的事件都会重置计时器。这是最通用的方式,覆盖所有正常使用场景:

默认参数下,连续锁屏 12 小时没有任何解锁操作才会触发确认弹窗。

方式二:指定应用使用检测

选择这个方式后,Keep Alive 不再盯锁屏状态,而是盯你选定的一组应用有没有被打开。常见选择:

如果 12 小时内这几个应用都没被打开过,同样触发确认弹窗。适合某些特殊场景(比如把手机放桌上充电、偶尔看一眼但没解锁)。

计时器什么时候开始、什么时候归零

开始:最后一次检测到活动(锁屏/解锁/指定应用启动)归零:任何新的活动发生,计时器从那一刻重新开始跳过:休息时段(Rest Period)内完全不计时——夜里正常睡觉不会引发误报

时间线示意(默认参数):

  周一 18:00 使用手机 → 计时归零
  周一 22:00 进入休息时段 → 计时暂停
  周二 06:00 休息时段结束 → 计时恢复(但周一 18:00 到现在只过了 8 小时)
  周二 14:00 刚好满 12 小时 → 屏幕弹出"Are you there?"
  周二 15:00 60 分钟确认超时 → 触发预警

为什么不用其他方式

Keep Alive 的设计选择是刻意的:

锁屏/解锁广播是 Android 系统级事件,功耗接近零、后台进程不需要持续唤醒,同时覆盖了绝大多数"真的没在用手机"的场景。

Android 版本差异的影响

Android 版本监测能否在重启后首次解锁前运行预警能否在首次解锁前发送
7.0 以下不能,必须等首次解锁后才能开始监测不能
7.0 及以上不能开始新监测,但能记住上次计时状态可以——按上次保存的无操作时长判断
1.5.1 起重启后首次解锁前也能发送预警(1.5.1 新增)可以,设备重启后仍按上次状态判断

想知道为什么这很重要,见 重启后恢复。

默认值可以改吗

全部可以。主设置页的 Hours of Inactivity Before Prompt 就是这个参数——默认 12 小时,居家场景放宽到 6–12,户外高危场景调短到 2–4。详见 休息时段设置。