在AltBeacon库中,我看到iBeacons每秒刷新多次的原因是什么?

时间:2015-01-11 02:30:08

标签: java android ibeacon altbeacon

我使用参考Altbeacon android app(当前)来了解ibeacons。

我已经听说过" RangedBeacon.setSampleExpirationMilliseconds" value,默认为20秒,默认情况下监视器版本似乎为10秒。

那么为什么我会每秒多次看到所有iBeacons的刷新数据(RSSI)?这主要是在测距屏幕上我注意到它像疯了一样滚动。我只有3个信标。

这是否意味着我的间隔设置低于默认值?或者这发生在其他地方?有没有办法减慢刷新速度,这有助于节省电池吗?

TIA!

1 个答案:

答案 0 :(得分:1)

Android Beacon LibraryRangedBeacon.setSampleExpirationMilliseconds()方法与测距更新的频率无关。它用于配置平均距离估计的时间间隔。 RSSI(接收信号强度指示符)是移动设备和信标之间信号强度的度量,并且用作估计距离的输入。由于此测量由于无线电噪声而具有固有的波动性,因此使用运行平均值来消除此噪声。默认情况下,此运行平均值的间隔为20秒。由于此默认值可能不适用于移动设备与信标之间距离估计需要较少“滞后”的应用程序,因此库允许将其配置为不同的时间段。

默认的测距刷新间隔由不同的scanPeriodbetweenScanPeriod设置控制,默认分别为1.1秒和0秒。默认值表示磁带库将扫描1.1秒,然后停止扫描0秒,然后再次开始扫描。您可以通过调用beaconManager.setForegroundScanPeriod(long milliseconds)beaconManager.setForegroundBetweenScanPeriod(long milliseconds)调整这些默认值(当应用程序在后台时,这些方法也有背景等效项,默认分别为10秒和300秒。)

如果您想节省电量,那么您要做的是将betweenScanPeriod调整为更长的值。但是,当你的应用程序在后台时,图书馆已经将此调整为5分钟。您可以阅读有关此节电保护功能here.

的更多信息