Keep Alive 在老版本 Android 上的兼容性问题
最低系统要求
Keep Alive 官方最低支持 Android 5.1(API Level 22,2015 年发布)。实际使用中,Android 版本越高功能越完整:
| Android 版本 | 发布年份 | Keep Alive 行为 |
|---|---|---|
| 5.1 – 6.0 | 2015 | ✅ 基础功能可用,但重启后解锁前完全无法运行 |
| 7.0+ | 2016 | ✅ 重启后解锁前可以按上次保存状态发送预警 |
| 8.0+ | 2017 | ✅ 支持后台限制豁免(Ignore Battery Optimization) |
| 9.0+ | 2018 | ✅ 支持 Adaptive Battery 智能省电(可能自动收紧限制) |
| 12+ | 2021 | ✅ SMS API 更新(1.2.3 修复了 12 以下的 bug 后反向修复) |
| 13+ | 2022 | ✅ 需要 POST_NOTIFICATIONS 运行时权限 |
| 15 | 2024 | ✅ 1.3.1 专门做了 Android 15 适配 |
关键行为差异详解
重启后的预警能力
这是最关键的差异:
| 版本 | 重启后首次解锁前能启动监测? | 能按上次状态发预警? |
|---|---|---|
| 7.0 以下 | ❌ 整个应用无法运行 | ❌ |
| 7.0 – 1.4.x | ❌ 不能启动新监测 | ✅ 按上次保存状态判断 |
| 1.5.1+ | ❌ 不能启动新监测 | ✅ 增强版(更完善) |
7.0 以下的手机如果重启后长时间没解锁(比如手机被别人拿走、或者你自己摔了失去意识),Keep Alive 完全不会运行——也就不会发预警。这是 Android 系统级限制,Keep Alive 无法绕过。
SMS API 变更的影响
Android 12 对 SMS API 做了修改,之前的某些旧版 Keep Alive 在 Android 12 以下能发短信、在 12 以上反而发不了。这个问题在 1.2.3 版本修复("Fix SMS issue on Android 12 and below")。
建议用 Android 12+ 的用户升级到 1.2.3 或更高。
通知权限(Android 13+)
Android 13 引入了 POST_NOTIFICATIONS 运行时权限——之前通知都是自动有的,需要应用主动申请。Keep Alive 在 1.3.x 及以上版本适配了这个权限,如果没授予,确认弹窗和状态通知都不会显示。
Exact Alarm 设置(1.3.3 新增)
Android 12 限制了精确闹钟的使用——应用需要申请 SCHEDULE_EXACT_ALARM 权限才能触发精确计时(否则系统会延迟执行,影响 Keep Alive 的计时准确性)。
1.3.3 版本新增了 Exact Alarm Setting(精确闹钟设置),让用户手动授予这个权限。如果没授,Keep Alive 的计时可能会有延迟(比如该 12 小时触发的,系统可能延迟到 12.5 小时才执行)。
怎么知道自己的 Android 版本
- 系统设置 → 关于手机 → Android 版本
- 或系统设置 → 关于手机 → 软件信息 → Android 版本
老版本手机要不要升级
如果你的手机是 Android 7.0 以下(非常老的手机):
- Keep Alive 的重启后预警功能完全不可用
- 但正常开机使用时功能正常(锁屏/解锁检测、确认弹窗、预警发送都没问题)
- 手机重启后务必尽快解锁一次——否则 Keep Alive 完全不会运行
如果条件允许,换一台 Android 8.0+ 的新手机,Keep Alive 的所有功能都能完整运行。
各 Android 版本的完整权限要求,见 权限清单。