Android - 失去 gps 时触发地理围栏

Android - Geofence trigger when lost gps

我使用 google 简单代码 "Creating and Monitoring Geofences" 一切正常,但我有一个问题,当设备第二次失去 gps 信号时,触发事件会将其计为退出,并且当信号返回将计为输入

即使它还在地理围栏内,我想我也无法避免这种情况 那么有人知道是否可以抑制这种行为吗?

另外一个问题,我在 Whosebug 地理围栏问题中读了很多,使用 BroadcastReceiver 比 Service 更好地接收转换 现在我用service来接收,效果很好,有必要改成BroadcastReceiver吗?

这是 Google 地理围栏有时依赖于不良网络位置点的问题。我对此 有一个潜在的解决方案。这不是 100%,但它确实有助于抑制地理围栏跳跃。

至于你问题的第二部分,我不知道你指的是 IntentService 还是服务。如果是服务,我建议使用 IntentService 或 BroadcastReceiver。 IntentServices 主要用于在后台线程上执行任务,其中 BroadcastReceivers 旨在重新启动进程(如果它没有被用户强制终止),并执行快速任务来处理意图。这两者都是独立的,并在任务完成后立即销毁自己。但是要回答你的问题,不,你 没有 使用 BroadcastReceiver,但最好这样做。