TL; DR:你可以连接到设备并同时扫描更多设备吗?
我正在开发一款与使用BLE的设备对话的应用。刚刚完成BLE项目的一位同事警告我,你不能同时连接设备和扫描,否则会发生坏事。我已经推进了这个假设。所以目前我在每个屏幕上连接和断开连接。
连接时间有时需要~3 +秒,所以如果我深入应用程序(这也是你可以扫描更多设备的地方),我想通过不断开来加快速度。我玩了一下,一切都很好(同时做两件事)。
我在Android文档中读过您无法同时扫描蓝牙和BLE但我没有看到任何有关连接到BLE设备和扫描BLE设备的信息。
我的同事描述的一些症状是:
答案 0 :(得分:1)
您可以同时连接并扫描......虽然某些手机/ Android版本上存在这些症状。 (使用某些三星设备的个人经验)
蓝牙可以管理多个连接,因此您可以同时扫描和连接是有意义的。(Multiple bluetooth connection)。
在较旧的API(18-20)中,您可以使用BluetoothAdapter中的startLeScan来搜索BLE设备。根据我的经验,这偶尔会导致您描述的问题。
但是,如果您使用的是API 21+,则使用BluetoothLeScanner.startScan是相当轻松的,并且不需要您处理计时器来重新启动扫描。您只需给它一个您正在寻找的蓝牙设备的过滤器和回调,它会在找到符合您条件的设备时通知您的应用。