一款 Android 应用程序,如果用户在设定的时间内没有使用设备,它会通过短信通知他人,旨在为独居者提供安全保障,以防发生意外或紧急情况时无法及时求助。
Github地址
https://github.com/keepalivedev/KeepAlive

开发背景
KeepAlive 的开发灵感源于开发者同事的真实经历。有两位独居的同事曾因发生意外而失去意识。其中一位在 24 小时内被朋友发现并获救,而另一位则在 36 小时后才被发现,最终不幸去世。为了预防类似的悲剧再次发生,这款旨在为独居者提供安全保障的 Android应用程序 应运而生。
功能特点
-
核心功能:
- 在设定的不活动(闲置)时间内,如果用户未使用设备,应用会自动发送自定义消息给指定的紧急联系人。
- 用户可选择通过短信、语音电话或 HTTP Webhook 请求发送警报。
- 支持在警报短信中附带用户的实时位置信息。
-
其他功能:
- 支持多国语言,包括法语(加拿大)、德语(德国)、波兰语(波兰)、俄语(俄罗斯)、中文(中国)、意大利语(意大利)。
- 兼容 Android 5.1(API 22)及以上版本。
- 提供“Lite”轻量版本,移除了网络权限和 Webhook 功能,用户可在 F-Droid 应用商店获取。
工作原理
-
检测方式:
- 通过监测设备的锁屏/解锁事件或特定应用的使用情况来判断用户活动。
- 如果设备在设定的“不活动时间”内未被使用(未锁屏/解锁),应用会弹出一个“你在吗?”的通知进行确认。
- 如果用户未在规定“等待时间”内响应此通知,应用将判定为可能发生意外,随即触发警报。
-
警报触发:
- 根据预设,向一个或多个紧急联系人发送包含自定义内容的警报短信和/或自动拨打电话。
- 如果用户启用了相关选项,还会发送第二条包含详细位置信息的短信。
设置选项
-
主要设置:
- 监控方式:可选择通过“设备锁定/解锁”事件或“特定应用使用”来检测设备是否被使用。
- 不活动时间:设置设备持续未被使用多长时间后,会弹出“你在吗?”确认通知。
- 等待时间:设置用户未响应上述通知后,需要等待多久才正式触发警报。
- 休息时间段:可以设置一个每日的特定时间段(如睡眠时间),在此时间段内不累计不活动时间。
- 自动重启监控:警报发送后,是否自动重新开始监控周期。
- 警报 Webhook:可配置一个 URL,当警报触发时,应用会向该地址发送一个 HTTP POST 请求。
-
紧急联系人设置:
- 短信联系人:设置接收警报短信的电话号码、自定义消息内容,并可选择是否在短信中附带位置信息。
- 电话联系人(可选):设置一个电话号码,当警报触发时,应用会自动向该号码拨打电话(需要授予额外权限)。
权限要求
-
必要权限:
- 使用统计:用于检测设备的锁定和解锁事件。
- 精确设置闹钟:确保即使在设备休眠或勿扰模式下,也能准确计时和触发通知。
- 发送短信:用于向紧急联系人发送警报短信。
- 发送通知:用于显示“你在吗?”和“警报已触发”等系统通知。
-
可选权限:
- 如果启用了“附带位置信息”功能,则需要授予精确位置和后台位置权限。
- 如果配置了电话报警功能,则需要授予拨打电话和管理呼叫权限,以及管理覆盖层权限(用于后台拨号界面)。
注意事项
- 应用限制/应用休眠:部分 Android 系统为了节省电量,会自动限制或休眠长时间未前台运行的应用,这可能剥夺 KeepAlive 所需的后台权限,导致其无法正常工作。开发者强烈建议用户在手机设置中为 KeepAlive 关闭此类优化功能,以确保警报机制可靠运行。
- 免责声明:
- 应用不承担因使用 KeepAlive 而产生的任何短信或通话费用。
- KeepAlive 并非专业的医疗或紧急响应服务替代品,它只是一个辅助工具。
- 应用的正常运行依赖于设备硬件、系统软件和网络连接,开发者不对因设备故障、系统不兼容或网络问题导致的警报失败承担责任。
如果你对这个为解决实际社会问题而生的 开源项目 感兴趣,或者对移动开发与个人安全应用的结合有更多想法,欢迎来 云栈社区 与其他开发者交流探讨。
|