我使用树莓派作为灯塔。当我更改Beacon的UUID时,我希望我的Android应用程序使用Android Beacon Library尽可能快地检测新的UUID。据我所知,两个参数可以影响这一点:扫描周期和传输速率。我在传输中使用10Hz,在setForegroundScanPeriod参数中使用300 ms。我正在快速检测UUID变化,但我想知道这两个参数是否有最佳值来更快地检测到变化?还有其他参数可以影响这个吗?
答案 0 :(得分:1)
Android Beacon Library的测试API旨在定期更新哪些信标可见,默认情况下每1.1秒一次。这意味着使用默认设置和以10 Hz(每0.1秒)通告的信标,第一次检测将在0.1-1.1秒之后到达。
您可以通过减少库中的扫描间隔来减小此范围的上限。如果您拨打setForegroundScanPeriod(300l)
,则检测的最长时间可能会降至300毫秒(0.3秒)。为此,您必须确保您的信标至少以10 Hz的频率进行广告宣传,否则较短的扫描周期通常会错过检测并实际导致更长的检测时间。
您可以更多地减少这个数字,但是您通常希望扫描周期至少是不频繁传输的传输速率的1.1倍,或频繁传输的2倍。因此,对于每1秒传输的信标,将其设置为1100毫秒。对于每100ms发送一次,将其设置为200ms。