我正在使用iBeacons并使用AltBeacon库。
我会问,是否有可能改变时间之间的最后一个信标被看到和didExitRegion被调用。
我发现了公共静态长INSIDE_EXPIRATION_MILLIS = 100001,所以我假设时间是10秒。是这样的吗?
不幸的是,我没有找到任何方法来设定另一个价值。
在某一特定时间内没有看到信标时,是否有其他方法向我显示?(3-5秒)
如有任何建议,将不胜感激。
发布于 2015-05-25 12:03:34
是的,您是正确的,Android灯塔图书馆的区域出口是在最后一次看到信标之后10秒触发的,而您引用的java常量是配置它的唯一方法。更改这意味着重新编译库的源代码。
在运行时使此可配置是合理的新特性请求。如果您有兴趣创建一个,请在这里这样做:https://github.com/AltBeacon/android-beacon-library/issues/new
此外,如果您有这些技能,我们将欢迎您自己进行更改并在GitHub上提交一个拉请求。这就是构建最好的开源软件的方法!
在添加此功能之前,可以通过在didExitRegion回调中添加一个计时器来延长退出时间。让它变短更棘手,但是您可以在didRangeBeaconsInRegion回调上使用一个计时器,如果在另一个回调结束前得到另一个回调,则取消计时器。
注意缩短时间:并不是所有的信标数据包都被移动设备接收,而且一些信标发送频率不高。iOS上的默认退出时间仅为3秒,当缓慢的广告信标(仅1Hz传输的信标)围绕着一部连续错过三次传输的手机时,这通常会导致间歇性的出口/进入事件。
发布于 2016-11-16 19:48:58
对于新读者:
BeaconManager.setRegionExitPeriod(2000); // 2 secondshttps://stackoverflow.com/questions/30434823
复制相似问题