是否可以使用 android-beacon-library 更改 didExitRegion 时间

Is it possible to change the didExitRegion Time using android-beacon-library

我正在使用 iBeacons 并使用 AltBeacon 库。

我会问是否可以更改看到最后一个信标和调用 didExitRegion 之间的时间。

我发现 public static long INSIDE_EXPIRATION_MILLIS = 100001,所以我假设时间是 10 秒。这样对吗?

不幸的是,我没有找到任何方法来设置另一个值。

有没有其他方法在特定时间没有看到信标时向我显示? (3-5 秒)

如有任何建议,我们将不胜感激。

是的,你是对的,Android Beacon Library 的区域退出是在最后一次看到信标后 10 秒触发的,你引用的 java 常量是唯一可以配置的方法.更改这意味着重新编译库的源代码。

在 运行 时将其配置为合理的新功能请求。如果您有兴趣创建一个,请在此处进行:https://github.com/AltBeacon/android-beacon-library/issues/new

此外,如果您有能力,我们欢迎您自己进行更改并在 GitHub 上提交拉取请求。这就是最好的开源软件的构建方式!

在添加此功能之前,您可以通过在 didExitRegion 回调中添加计时器来延长退出时间。缩短它比较棘手,但您可以在 didRangeBeaconsInRegion 回调上使用计时器,如果在它关闭之前收到另一个回调,则取消计时器。

关于缩短时间的注意事项:并非所有信标数据包都被移动设备接收到,并且一些信标不会非常频繁地传输。 iOS 上的默认退出时间仅为 3 秒,这通常会导致间歇性的 exit/entry 事件,因为缓慢的广告信标(那些仅以 1 Hz 传输的信标)围绕 phone 错过连续三个传输。

对于新读者:

BeaconManager.setRegionExitPeriod(2000); // 2 seconds