我正在使用Geofence API 示例应用程序,我已经运行它并且似乎工作正常。我确实对其进行了修改以使用 BroadcastReceiver 而不是 IntentService。
但是,只有在我打开其他一些使用 GPS 的应用程序(例如地图)或 GPS 测试器应用程序时,我才会收到通知。
如果我没有打开其中一个应用程序并且我走进地理围栏区域,则不会发生任何事情。但是一旦我启动其中一个,我会在几秒钟内收到通知。
我正在使用Geofence API 示例应用程序,我已经运行它并且似乎工作正常。我确实对其进行了修改以使用 BroadcastReceiver 而不是 IntentService。
但是,只有在我打开其他一些使用 GPS 的应用程序(例如地图)或 GPS 测试器应用程序时,我才会收到通知。
如果我没有打开其中一个应用程序并且我走进地理围栏区域,则不会发生任何事情。但是一旦我启动其中一个,我会在几秒钟内收到通知。
即使我也很难在进入地理围栏或退出地理围栏时获得地理围栏通知。通知总是延迟,直到我找到一个非常好的位置库,称为little-fluffy-location-library,它可以满足我的目的。位置更新将定期广播到您的应用程序。
根据文档,它说:
该库通过使用 Froyo 的被动位置侦听器工作(仅适用于 Android 2.2 及更高版本,因此它最适合它),它侦听手机上其他应用程序请求的位置更新。大约每 15 分钟将最准确的位置广播到您的应用程序。如果一个小时内没有从另一个应用程序接收到位置更新,则库会强制执行其自己的位置更新。
我认为你应该试试这个图书馆,让我知道它是否适合你!!
I ended up creating a service that forces the GPS to stay active by requesting location updates on a relatively quick interval.
While this is admittedly a poor work around for a "real" application. It worked for my purposes. In which I needed to be able to present a working proof of concept to an audience, which impeded my ability to use a geo points which were further spread out.