0

最近我开发了一个与 BLE 设备配合良好的 APP,我在我的 APP 中添加了大部分选项和功能。它可以扫描设备,显示列表,然后用户可以选择要连接的设备。我的问题是我的代码只能连接到一个 BLE;如果用户想连接到其他设备,它必须与连接的设备断开连接。有什么选项或方法可以用来解决这个问题吗?

4

2 回答 2

3

如果您需要一些实际帮助,您应该发布代码,但我可以告诉您,您的问题只是一个设计问题。很明显,您没有CBCentralManager以可扩展的方式实现您的方法,无论是对于底层连接还是用户界面。我可以从我的应用程序中的直接经验告诉您,当前 Apple 限制是在任何给定时间 10 个低功耗蓝牙连接(尽管人们可能会尝试声称不同)。然而,虽然系统能够处理 10 个,但该BTServer进程(Apple 的蓝牙进程)开始出现这么多连接并经常崩溃。

您需要重新考虑设计CBPeripheralCBCentralManager类的实现方式。确保它们没有连接到特定的外围设备,只是您可能遇到的外围设备实例。进行一些设计更改,您应该能够解决您的问题。

于 2013-04-23T21:27:33.647 回答
0

我不知道您的具体情况,但我知道可以连接到多个 BLE 设备,因为我目前正在 Linux 中使用 Bluez 堆栈进行连接。但是,BLE 硬件在可以连接的设备数量方面有所不同,因此可能存在一些仅允许一个连接的硬件。我有一个允许最多 3 个连接的加密狗和另一个最多允许 7 个连接的加密狗。当您尝试建立其他连接时,它会自动断开其他连接之一以建立新连接。

于 2013-04-19T14:12:54.127 回答