如何正确停止扫描信标使用安卓信标库 (altbeacon).



我使用来自altbeacon的android-beacon-library在前台扫描。我把

beaconManager.bind(this) on OnCreate

并把

beaconManager.unBind(this) on onDestroy()

,但是当我检查日志猫时,我看到了

E/BeaconService: onDestroy()

我以为它会停止扫描过程,但奇怪的是它仍然收到多个:'

D/BluetoothLeScanner: onScanResult() - ScanResult{mDevice=D2:95:10:F1:2A:AF, mScanRecord=ScanRecord [mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={76=[2, 21, -3, -91, 6, -109, -92, -30, 79, -79, -81, -49, -58, -21, 7, 100, 120, 37, 39, 27, 39, 27, -59]}, mServiceData={00005242-0000-1000-8000-00805f9b34fb=[65, 99, -46, -107, 16, -15, 42, -81]}, mTxPowerLevel=-2147483648, mDeviceName=neartalk], mRssi=-59, mTimestampNanos=120278331850532}'

我的问题是如何正确停止扫描信标???

我怀疑这是库的 2.10 版本中引入的新错误。 从该版本开始,扫描周期行为已更改为在支持每次扫描检测多个信标的设备上,在周期结束时不停止扫描。 这增加了节能和数据包检测的可靠性优势。 但是现在想想,我认为这种变化会导致您描述的症状。

如果有机会,请验证问题是否消失(如果您的目标是版本 2.9)。 如果确认,我将打开错误报告并进行修复。

是的,大卫我可以确认在使用 android-beacon-library 版本 2.9.2 时此行为没有重现......

最新更新