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

Posted

技术标签:

【中文标题】如何使用 android-beacon-library (altbeacon) 正确停止扫描信标【英文标题】:How to properly stop scanning beacon using android-beacon-library (altbeacon) 【发布时间】:2017-10-05 18:01:43 【问题描述】:

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

onCreate 上的beaconManager.bind(this)

然后放

beaconManager.unBind(this) onDestroy()

,但是当我检查我看到的 logcat 时

E/BeaconService: onDestroy()

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

D/BluetoothLeScanner: onScanResult() - ScanResultmDevice=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`

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

这里有一个建议的修复:github.com/AltBeacon/android-beacon-library/pull/507,计划在 2.10.1 版本中发布。【参考方案2】:

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

【讨论】:

以上是关于如何使用 android-beacon-library (altbeacon) 正确停止扫描信标的主要内容,如果未能解决你的问题,请参考以下文章

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]

如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

如何使用laravel保存所有行数据每个行名或相等

如何使用 Math.Net 连接矩阵。如何使用 Math.Net 调用特定的行或列?

WSARecv 如何使用 lpOverlapped?如何手动发出事件信号?