Keep Alive 定位不准或不显示定位短信排查
定位短信没发出来
Include Location 开关开了,但预警触发时定位短信没发(只发了求助短信)。按顺序查:
第一步:位置权限是否授予
- 系统设置 → 应用 → Keep Alive → 权限 → 位置
- 确保是"始终允许"或"使用时允许"——"不允许"或"仅使用时允许"在后台触发预警时会被拒绝
- Android 13+ 上,"精确位置"要额外开一个开关
第二步:位置服务总开关有没有开
Android 有一个"位置信息"总开关——如果关了,即使权限允许也拿不到定位数据。检查:
- 下拉通知栏 → 快速设置 → 位置信息图标是否亮着
- 系统设置 → 位置信息 → 打开位置信息
1.5.2-alpha 版本会主动警告"位置服务已关闭",而不是静默跳过定位短信。
第三步:GPS 是否能正常定位
Keep Alive 优先使用 GPS,拿不到 GPS 才退回网络定位。测试 GPS:
- 打开手机自带的地图应用
- 到户外开阔处站 30 秒
- 看地图能不能正常显示你的位置
如果地图也定不准 → GPS 本身有问题(可能是手机 GPS 故障或在信号遮挡处)。
第四步:网络定位是否可用
GPS 拿不到时,Keep Alive 会尝试网络定位(基站 + Wi-Fi)。网络定位需要:
- 蜂窝数据开启(或 Wi-Fi)
- 位置服务里的"网络定位"开关开启
| 条件 | GPS | 网络定位 | 结果 |
|---|---|---|---|
| GPS 好 + 网也好 | ✅ | ✅ | GPS 优先,精度 10 米内 |
| GPS 差 + 网好 | ❌ | ✅ | 退回网络定位,精度 100–500 米 |
| GPS 差 + 网差 | ❌ | ❌ | 定位短信不发 |
定位坐标不准
定位短信发出来了,但位置不太准(显示的位置离实际有几百米甚至几公里)。可能原因:
| 场景 | 精度 | 说明 |
|---|---|---|
| 户外开阔 + GPS | 10 米内 | 正常 |
| 室内(GPS 信号被挡) | 100–500 米 | 网络定位 |
| 地下/地铁/隧道 | 可能只有最后缓存位置 | GPS 完全不可用 |
| 乡村/偏远基站稀疏 | 可能几公里 | 基站定位精度差 |
这不是 Keep Alive 的问题——Android 系统能给到的定位精度就是这样。Keep Alive 已经做了最优选择:GPS 优先、拿不到退回网络、都拿不到就跳过定位短信。
1.5.2-alpha 的优化
1.5.2-alpha 版本对定位做了两项改进:
- 四舍五入坐标:去掉了过多的小数位(之前可能显示十几位小数,没用),保留合理精度
- 主动警告"位置服务已关闭":不会静默跳过定位短信
总结:定位开了就别怕不准
定位功能的价值是"让对方知道你大概在哪个区域",而不是精确到楼层。即使只给到城市级别,也比完全没有定位信息强得多。Include Location 能开就开,不要因为可能不准就关掉。
定位权限的授予说明,见 权限清单。