【发布时间】:2016-06-26 15:24:50
【问题描述】:
我正在开发一个需要连接到蓝牙低功耗设备的 Android 应用。
该应用程序在大多数设备上都能正常运行,但我在使用 BluetoothAdapter.startLeScan() 的某些设备上遇到了问题(一加一搭载 Cyanogene Android 4.4.4 和 Sony C5303 搭载 Android 4.3)。
使用一加,问题似乎与这篇文章中的相关问题相同:Android 4.3: BLE: Filtering behaviour of startLeScan() 蓝牙设备仅被扫描一次。如果我连接然后断开与设备的连接,则不会再次扫描它。
经过一些测试,我尝试使用:BluetoothAdapter.startDiscovery() 和 BluetoothAdapter.startLeScan()。
现在看来,我的设备已正确扫描多次,并且我的 LeScanCallback 已正确调用。然后我可以连接/断开与我的 BLE 设备的连接。
问题是: BluetoothAdapter.startDiscovery() 如何与BluetoothAdapter.startLeScan() 交互以允许多次检测到我的设备?
感谢您的帮助!
【问题讨论】:
-
你找到解决办法了吗?
-
如果我没记错的话,我没有正确调用“stopLeScan()”。添加 stopLeScan 后,我的设备被正确检测到。
-
这件事发生在我身上
标签: android bluetooth bluetooth-lowenergy