一秒内多次扫描信标 (Android-Java)
Scanning for beacons multiple times in a second (Android-Java)
我正在使用以下方法(取自 android 信标库)
public void didRangeBeaconsInRegion(final Collection<Beacon> collection, Region region)
此回调方法 "detects" 每 1.1 秒发送一次信标。更准确地说,它每 1.1 秒触发一次。我的信标设备 (Kontakt i.o)。每 200 毫秒发送一次数据包。我发现没有办法以某种方式减少上述方法的触发间隔,所以我的问题是,是否有这种方法的替代方法,以便我可以更频繁地进行距离计算。
基本上我提供 RSSI 和 TxPower 作为参数并进行更多计算以使距离更准确所以我想每 200 毫秒而不是每秒获取一次 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
来源时找到更多方法。
我正在使用以下方法(取自 android 信标库)
public void didRangeBeaconsInRegion(final Collection<Beacon> collection, Region region)
此回调方法 "detects" 每 1.1 秒发送一次信标。更准确地说,它每 1.1 秒触发一次。我的信标设备 (Kontakt i.o)。每 200 毫秒发送一次数据包。我发现没有办法以某种方式减少上述方法的触发间隔,所以我的问题是,是否有这种方法的替代方法,以便我可以更频繁地进行距离计算。
基本上我提供 RSSI 和 TxPower 作为参数并进行更多计算以使距离更准确所以我想每 200 毫秒而不是每秒获取一次 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
来源时找到更多方法。