Android Google 即使设备没有移动,地理围栏转换也会跳跃

Android Google Geofencing transition jumps even device is not moving

我开发了一个地理围栏应用程序,它运行正常。但我也有用户告诉我,即使设备没有移动,该应用程序也会报告 repeatable 进入和退出该区域!

该应用程序使用最新的 Google 地理围栏 API,过渡类型 GEOFENCE_TRANSITION_ENTER 和 GEOFENCE_TRANSITION_EXIT,到期时间 NEVER_EXPIRE 和 ACCESS_FINE_LOCATION .用户还配置了 2000 米的大半径,但没有成功。这些位置设置为高精度。

但是转换是从出口跳到进入,即使设备在房子的 table 上也没有移动。

如何在应用程序中改进它?

Google 地理围栏主要使用依赖 wifi 和手机信号塔的网络点,并且容易出现不同程度的准确度。这会导致地理围栏将许多位置点 "jumps" 注册为进入和退出事件。防止这种情况的一种方法是在转换事件上进行 gps 调用,以验证用户确实离开了。如果用户离开,发送通知,如果没有,重置地理围栏 INITIAL_TRIGGER_EXIT set in GeofencingRequest.