我在Android设备(android-beacon-library)上使用AltBeacon进行蓝牙iBeacon检测 . 目前,我能够获取信标的唯一方法是通过回调: RangeNotifier .
RangeNotifier
然而,我想要的功能是每5秒,对附近的信标执行扫描,并且总共只执行10次(即扫描大约一分钟) . 我希望能够在for循环中进行扫描,但到目前为止,似乎唯一的方法是使用回调,我无法控制它何时被触发 .
有没有人知道使用Android AltBeacon这种行为是否可行?
该库不是为这种特殊扫描而设计的,但可以使用以下技术执行您想要的操作:
mBeaconManager.setForegroundBetweenScanPeriod(5000l);
mScanStartTime = System.currentTimeMillis(); mBeaconManager.startRangingBeaconsInRegion(region);
@Override public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) { // Process beacons here if (System.currentTimeMillis() - mScanStartTime > 50*1000l) { mBeaconManager.stopRangingBeaconsInRegion(region); } }
1 回答
该库不是为这种特殊扫描而设计的,但可以使用以下技术执行您想要的操作: