Android地理围栏示例应用程序只有在使用GPS打开另一个应用程序时才能工作



我正在使用Geofence API示例应用程序,我已经让它运行并且似乎工作正常。我确实对它做了修改,使用BroadcastReceiver而不是IntentService。

但我只会得到通知,如果我有一些其他的应用程序打开使用GPS,如地图,或GPS测试仪应用程序。

如果我没有打开其中一个应用程序,我走进地理隔离区,什么也不会发生。但是只要我启动其中一个,我就会在几秒钟内收到通知。

我最终创建了一个服务,通过请求相对较快的位置更新间隔来强制GPS保持活动状态。

虽然这对于"真正的"应用程序来说是一个糟糕的工作。它达到了我的目的。我需要能够向观众展示一个可行的概念证明,这阻碍了我使用进一步分散的地理点的能力。

即使是我也很难在进入或退出Geofence时获得Geofence通知。通知总是延迟,直到我发现了一个非常好的位置库,它叫做little-fluffy-location-library,它满足了我的需求。位置更新将定期广播到您的应用程序。

根据文档它说:

该库通过使用Froyo的被动位置监听器工作(仅适用于Android 2.2及以上版本,因此它可以与它一起工作),它可以监听手机上其他应用程序请求的位置更新。最准确的位置大约每15分钟广播一次。如果一个小时内没有从其他应用程序接收到位置更新,图书馆就会强制自己进行位置更新。

我想你应该尝试一下这个库,让我知道它是否适合你!!

最新更新