Android Geofence触发延迟/失败

时间:2016-07-12 11:34:56

标签: android xamarin.android geofencing android-geofence

我已经在我的Android应用中注册了5到6个地点的Geofences。

我想要的地理围栏事件是Geofence Dwell,游荡延迟10秒。

但是使用此功能,有时会在某些Android设备中触发该事件,而在其他设备中根本不触发该事件。

因此,仅出于测试目的,我考虑了以下列出的方案:

1)我将游荡延迟减少到3秒。这个时间结果更好,它在5个设备中的4个触发。

2)另一个测试场景是,我注册了Geofence Enter事件(显然没有游荡延迟),这次它在所有设备中触发。

理想情况下,我需要以10秒的延迟触发Geofence Dwell事件,因为我不会在Enter事件上接受频繁的Geofence通知。

请建议Geofence Dwell可能出现的问题是延迟时间较长。 任何帮助将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

驻留触发延迟的典型原因:

  1. 位置适配器应打开并设置为“高精度”模式(从 系统设置)
  2. 要使驻留发生,移动电话应处于运输中(例如,正在移动(如果已连接至充电或usb,则android识别为不移动并会延迟位置计算))
  3. 应该关闭电池优化功能(如果打开则触发触发器处理。)
  4. 尝试手动触发Google Maps或Ola / Uber等应用程序,以强制设备获取准确的位置更新。如果此类应用程序处于前台,则触发器将更快,更准确。

如果您需要的时间只有10秒的停留时间,那么您最好在后台线程上运行自己的计时器逻辑;因为在现实世界中,设备将在10秒钟内真正行驶多少米(您指定为地理围栏半径)?