0

我正在使用参考 Altbeacon android app (current) 来了解 ibeacons。

我听说过“RangedBeacon.setSampleExpirationMilliseconds”值,默认为 20 秒,监控版本似乎默认为 10 秒。

那么,为什么我会在一秒钟内多次看到所有 iBeacon 的刷新数据 (RSSI)?这主要是在测距屏幕中,我注意到它疯狂地滚动。我只有 3 个信标。

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

蒂亚!

4

1 回答 1

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 分钟。您可以在此处阅读有关此省电功能的更多信息

于 2015-01-11T04:33:36.987 回答