我使用AltBeacon库来监控信标区域,并在进入和退出该区域时收到通知。问题是我有时会得到一个假的" ExitRegion"事件。有时我也没有收到" EnterRegion"事件。
例如,我可能会得到" ExitRegion"灯塔插上电源时发生的事件。
我在图书馆看到了这个问题,但我们没有在帖子上看到解决方案/建议:https://github.com/AltBeacon/android-beacon-library/issues/609
我还没有改变信标本身的任何设置。我使用RegionBootstrap
并且我也阅读了文档。
是否有任何可能影响我们的建议或陷阱?我们怎样才能解决退出区域的这些误报?我们可能做错了什么?
答案 0 :(得分:1)
错误的区域退出是一个常见问题,不仅仅是Android Beacon Library,还有iOS Core Location和其他检测框架。
根本原因是手机上的蓝牙扫描仪无法在一定时间内检测到信标广告数据包(30秒设置iOS,10秒安卓信标库,但可配置)。所有检测框架都有许多可能的原因:
不经常发送数据包的不经常广告信标。
很少检测到信标信号太弱(因为它很远或因为它设置为以低功率发射),
手机上的蓝牙天线,芯片或蓝牙堆栈有故障。
使用Android Beacon Library,还可以以可能导致此问题的方式自定义扫描间隔。为了在大多数情况下获得最佳效果,您应该接受默认值。
其他提示:
将您的信标配置为每秒广告尽可能多的数据包。
将您的信标配置为以尽可能高的发射机功率级别进行通告。
将信标移近手机。
尝试使用其他手机查看问题是否与设备有关。