Keep Alive 需要哪些 Android 权限及其用途
权限总览
Keep Alive 申请的全部 Android 权限如下,每一项都有明确用途:
| 权限 | 类型 | 用途 | 是否核心 |
|---|---|---|---|
| SEND_SMS | 运行时 | 发送求助短信 | ✅ 核心 |
| ACCESS_FINE_LOCATION | 运行时 | 预警触发时读取 GPS 定位 | ⚠️ 可选(关定位就不用) |
| CALL_PHONE / PLACE_CALL | 运行时 | 自动拨打免提电话 | ⚠️ 可选(不开电话就不用) |
| POST_NOTIFICATIONS | 运行时 | 显示确认弹窗和状态通知 | ✅ 必需 |
| RECEIVE_BOOT_COMPLETED | 安装时 | 重启后自动启动监测 | ✅ 必需 |
| WAKE_LOCK | 安装时 | 后台监测时保持 CPU 不睡眠 | ✅ 必需 |
| INTERNET | 安装时 | Webhook HTTP 请求(Lite 版不需要) | ⚠️ Lite 版去掉 |
| QUICKBOOT_POWERON | 安装时 | 国产 ROM 快速启动广播 | ✅ 必需 |
每项权限详细说明
SEND_SMS(发送短信)
这是 Keep Alive 的核心权限——不给它,预警短信就发不出去。系统设置里检查:
- 进入设置 → 应用 → Keep Alive → 权限 → 短信
- 确保已允许
- 部分安全软件或国产系统可能会二次禁用——需要到安全中心检查
ACCESS_FINE_LOCATION(精确定位)
只在开启 Include Location 的联系人上才需要。定位权限需要设为"始终允许"——预警可能在后台任何时刻触发,如果权限设为"仅使用时允许",后台触发时会被系统拒绝。
注意:精确位置权限要同时开启"位置服务"总开关。关了总开关即使权限允许也拿不到定位数据。
CALL_PHONE(拨打电话)
只在填写了 Call Phone Number 的情况下才需要。部分手机(特别是国内)对后台拨号有限制,可能需要在系统设置里额外放行"后台拨号"权限。
POST_NOTIFICATIONS(发送通知)
Android 13+ 上新增的权限。不给的话确认弹窗和状态通知都显示不出来——用户完全不知道 Keep Alive 在工作。
RECEIVE_BOOT_COMPLETED(开机自启动)
确保手机重启后 Keep Alive 能自动恢复监测。国产系统会在系统设置里单独控制这个权限(叫"自启动"或"开机自启"),需要手动开启。
WAKE_LOCK(唤醒锁)
Keep Alive 使用一个低优先级的唤醒锁,在后台监测时防止 CPU 完全休眠。这个权限是 Android 系统级权限,安装时自动授予,不需要运行时申请。
INTERNET(网络访问)
完整版用来发送 Webhook HTTP 请求。Lite 版本完全不申请这个权限——这是 Lite 版的核心设计理念(纯网脱、无网络请求)。
QUICKBOOT_POWERON
少数国产 ROM 的快速启动广播。和 RECEIVE_BOOT_COMPLETED 功能类似,确保重启后能收到自启动信号。
权限被撤销怎么办
如果你在系统设置里手动撤销了某个权限:
| 撤销的权限 | 后果 | 恢复方法 |
|---|---|---|
| SEND_SMS | 所有 SMS 预警失效 | 系统设置里重新允许 |
| Location | 定位短信不会发 | 系统设置里重新允许 |
| Phone | 免提电话不会打 | 系统设置里重新允许 |
| Notifications | 弹窗不显示 | 系统设置里重新允许 |
| Boot Completed | 重启后监测不开 | 系统设置里开自启动 |
1.5.2-alpha 版本会主动警告"SMS 权限被撤销"或"后台活动被限制",而不是悄悄失效。
安装时的权限授予流程,见项目首页的安装步骤说明。