【发布时间】:2015-09-23 19:51:54
【问题描述】:
TL;DR:您可以连接到设备并同时扫描更多设备吗?
我正在开发一个与使用 BLE 的设备通信的应用。一位刚刚完成 BLE 项目的同事警告我,不能同时连接设备和扫描,否则会发生不好的事情。我已经提出了这个假设。所以目前我在每个屏幕上连接和断开连接。
连接时间有时可能需要大约 3 秒以上,所以如果我深入应用程序(这也是您可以扫描更多设备的地方),我想通过不断开连接来加快速度。我已经玩了一点,一切似乎都很好(同时做这两个)。
我在 Android 文档中看到您无法同时扫描蓝牙和 BLE,但我没有看到任何关于连接到 BLE 设备和扫描 BLE 设备的信息。
我的同事描述的一些症状是:
- 无法关闭系统蓝牙(开关会重新打开)
- 蓝牙会崩溃(不确定是蓝牙共享还是其他原因)
- 其他使用蓝牙功能的应用会崩溃
【问题讨论】:
-
理论上我相信这应该是可能的,但随着时间的推移,我已经看到了您同事报告的所有错误,现在等待扫描停止,然后再尝试打开设备。我也只尝试一次在单个设备上处理未完成的请求,这有助于提高稳定性,但对于快速启动和代码结构非常不利。我只在测试版的基础上发布我的 BLE 代码,这在 Google 最终添加支持 2 年后是愚蠢的。
标签: android bluetooth-lowenergy android-bluetooth