如何使用Android Geofencing API?

kyl*_*lee 21 android android-geofence

我一直在测试新的Google Play Geofencing服务API.

我从Android开发者网站下载了示例代码.接下来,我在Android设备上运行示例代码(Galaxy Note 2).我将办公室的地理位置和半径设置为10米,但是当我走到办公室时,什么也没发生.

在运行示例代码时,我注意到的一件事是,当我已经在地理围栏范围内然后添加地理围栏时LocationClient,没有任何反应.

我已经阅读了LocationClient类文档,并找到了以下段落:

如果用户禁用了网络位置提供程序,则地理围栏服务将停止更新,将删除所有已注册的地理围栏,并通过提供的待处理意图生成意图.在这种情况下,hasError(Intent)返回true并getErrorCode(Intent)返回GEOFENCE_NOT_AVAILABLE."

所以我打开WiFi,然后走到我的办公室(在地理围栏内),然后我收到通知"geofence进入".

我有以下问题:

  1. 地理围栏是否仅适用于WiFi?

  2. 为什么我的3G网络提供的位置不起作用?

  3. 这是示例代码中的错误吗?

  4. 或者这是我的错误?

Mil*_*ský 5

如果你只使用蜂窝网络,位置精度低于wi-fi或gps的精确度(如果你打开谷歌地图,蓝色圆圈是你当前位置的估计 - 如果你只使用3GP,圆圈可以有半径甚至数百米).

最后几天我正在使用Geofences开发应用程序,我想出了以下内容:恕我直言,只有当所有这个"位置估算圈"都在地理围栏半径内时,即如果有100%的可能性进入地理围栏,地理围栏入口才会被触发.所以这取决于你设置的半径.如果你只设置10米,它可能只适用于GPS,从不使用3GP.对于3GP,您必须设置半径1000米.

  • 实际上,我做的测试显示地理围栏触发器根本不关心准确性,不幸的是,似乎没有任何方法可以设置我们是否需要..在我的情况下,单元ID位置为800-1500m准确性足以触发200米地理围栏上的进入和离开地理围栏事件.正如你可能猜到的那样,我每隔2分钟就会进入/离开事件而不会动作.我希望我们能够更好地控制和记录什么到期望从这个API,因为现在,它似乎并不是非常有用 (6认同)

小智 1

Wifi 用于帮助跟踪您的位置。使用 WiFi 信号和手机信号来三角测量您的位置是比让 GPS 持续运行更省电的解决方案。此外,它还适用于 GPS 无法使用的情况,例如多路径密集区域和室内。