如何使用 android-beacon-library (altbeacon) 正确停止扫描信标

How to properly stop scanning beacon using android-beacon-library (altbeacon)

我正在使用来自 altbeacon 的 android-beacon-library 在前台进行扫描。我放

beaconManager.bind(this) on OnCreate

并放入

beaconManager.unBind(this) on onDestroy()

,但是当我查看 logcat 时,我看到了

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版库引入的新bug。从该版本开始,扫描周期行为已更改为在支持每次扫描检测多个信标的设备上在周期结束时不停止扫描。这增加了节能和数据包检测可靠性的好处。但现在想想,我认为这种变化会导致你描述的症状。

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

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