我正在开发一款需要连接蓝牙低功耗设备的Android应用.
该应用程序在大多数设备上正常工作,但我使用BluetoothAdapter.startLeScan()的一些设备(一加一个与Cyanogene Android 4.4.4和索尼C5303与Android 4.3)的麻烦.
使用One plus,问题似乎与此帖中的相关问题相同:Android 4.3: BLE: Filtering behaviour of startLeScan()蓝牙设备仅扫描一次.如果我连接然后从设备断开连接,则不再扫描它.
经过一些测试后我尝试使用:BluetoothAdapter.startDiscovery()以及BluetoothAdapter.startLeScan().
现在我的设备现在已经多次正确扫描,并且我的LeScanCallback被正确调用了.然后我可以连接/断开我的BLE设备.
问题是:
BluetoothAdapter.startDiscovery()如何与BluetoothAdapter.startLeScan()交互以允许多次检测我的设备?
谢谢你的帮助!
解决方法:
你应该正确地调用’stopLeScan()’.添加stopLeScan后,应正确检测设备.