我使用的是Android 6.0.1 (Nexus 5),正在通过Altbeacon库2.9.1测试beacon montoring,当我在beacon附近的家里(几个房间之外)测试该设备时,我收到了多次进入/退出回调。信标基于具有默认设置(作为iBeacon传输)的覆盆子Pi 3。
我使用的是Altbeacon参考应用程序,但是在日志输出中,我每隔5-6分钟就会看到一次条目事件消息(didEnterRegion),这会导致通知。在此期间,Nexus 5在桌面上是固定的。
唯一的源代码修改是添加要监视的特定区域,但仅此而已。
你知道为什么这种行为是这样的吗?
发布于 2016-11-28 09:26:29
最有可能的解释是,你的安卓设备只是间歇性地接收来自信标的信号。
使用默认设置时,如果在10秒内未检测到与区域匹配的信标,则Android信标库将该区域视为已退出。Linux信标发送器默认每秒发送一次通告。如果连续丢失了10个这样的传输,您将得到一个区域出口,然后在下一次接收到一个时进入一个区域。知道,即使在理想条件下,由于无线噪声和其他问题,也不是所有的信标传输都会被接收到。一旦你接近信标发射器范围的边缘,这种间歇性的退出/进入事件将会越来越频繁地发生。
要解决此问题,您可以执行以下操作:
BeaconManager.setRegionExitPeriod(20000l);将信标移动到更靠近Android receiver
https://stackoverflow.com/questions/40835671
复制相似问题