0

有没有办法在设备当前位置周围定义地理围栏(中心和半径),并在设备退出地理围栏时让系统在我的应用程序中触发回调函数?

我想避免大量使用 GPS,因此我更喜欢系统消息而不是定期 GPS 轮询,即使以降低准确性为代价。

4

3 回答 3

2

使用. Geofence_ 在这里您可以找到使用它的文档。您一次最多可以有 100 个地理围栏。Google Play Services

于 2014-04-07T08:30:20.420 回答
2

我发现 GeoFencing API 永远不会智能地从 GPS 硬件中检索位置。GeoFence API 将观察操作系统提供的最准确位置,或者如果当前没有可用位置,它将导致从 Wifi / Cellular 计算位置。(这很糟糕,因为蜂窝网络非常不准确,而且 wifi 经常不可用)

因此,要从地理围栏 API 中获得所有响应或准确的结果,您必须设置地理围栏,然后每隔一段时间轮询 GPS 硬件,甚至不对收到的结果做任何事情,以便在表面下提供有价值的数据到操作系统。

我无法具体说明 LocationManager.addProximityAlert 的行为,但我怀疑它的行为有什么不同。

于 2014-04-30T16:11:19.060 回答
1

LocationManager.addProximityAlert. 它在内部同时使用 GPS 和网络,大概只有在关闭时才打开 GPS。做你想要的。

于 2014-04-06T21:01:16.537 回答