0

我正在编写一个 Android 应用程序,当他进入特定区域时通知用户。为此,我使用了 Android 的 Geofence API。

我已经尝试过 Google 的 GeofenceDetection 示例,并且该应用程序根本没有收到通知。

我调用 addGeofences,并收到 statusCode 0 的 onAddGeofencesResult 通知,所以一切似乎都工作正常,但是当我走(或开车)进出地理围栏(半径为 5m 或 50m)时,什么也没有发生。

我使用 Nexus4 和 Eclipse - 都更新到最新版本。

为什么我没有收到地理围栏通知?

4

1 回答 1

0

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

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

此行为未记录在案 - 感谢 Google!

于 2014-04-30T16:04:39.613 回答