我正在使用以下方法(取自android beacon库)
public void didRangeBeaconsInRegion(final Collection<Beacon> collection, Region region)
此回调方法每1.1秒“检测”信标。更确切地说,它每1.1秒触发一次。我的信标设备(Kontakt i.o)。每200ms发送一次数据包。我发现没有办法以某种方式减小上述方法的触发间隔,所以我的问题是,该方法是否可以替代,以便我可以更频繁地进行距离计算。
基本上,我提供RSSI和TxPower作为参数,并进行更多计算以使距离更准确,因此我希望每200ms而不是每秒获得一次RSSI。
最佳答案
创建BeaconManager
的实例,您可以设置一些有关扫描的方法:
BeaconManager manager = BeaconManager.getInstanceForApplication(context);
manager.setBackgroundScanPeriod(milliseconds); //defaults to 10
manager.setBackgroundBetweenScanPeriod(miliseconds); //Period between scans
manager.setForegroundBetweenScanPeriod(miliseconds); //Period between scans
manager.setForegroundScanPeriod(milliseconds); //defaults to 1.1
查看
BeaconManager
源时,您可以找到更多方法。