【发布时间】:2010-12-17 07:58:31
【问题描述】:
我们可以连接多个设备吗?谁能给我分享一下代码!这个问题困扰了我很久!谢谢!
【问题讨论】:
我们可以连接多个设备吗?谁能给我分享一下代码!这个问题困扰了我很久!谢谢!
【问题讨论】:
我会说代码不是问题。正确的实现是为每个连接管理一个线程,但是我发现您可以同时连接的设备数量受到手机蓝牙实现的限制。蓝牙规范规定可以连接 7 个设备,但是我发现 Android 手机只能处理 1 个蓝牙连接,而其他人可以处理 6 个。如果 Android 开发团队的某个人可以在这里更深入地了解,这将真正有助于蓝牙开发社区。
【讨论】:
是的,您可以设置多个蓝牙连接(至少 RFCOMM 连接)。只需使用替代线程进行连接,它就可以正常工作(我猜) 另见:http://developer.android.com/resources/samples/BluetoothChat/index.html
编辑,注释布局不可读: 在connectThread函数中,更改:
tmp = device.createRfcommSocketToServiceRecord(MY_UUID);
到:
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
tmp = (BluetoothSocket) m.invoke(device, 1);
【讨论】:
是的,可以在蓝牙服务器套接字中连接多个设备,可以试试这个lib
【讨论】:
就像 Barry 所说,您可以连接到多个设备。只需为每个连接创建一个新线程。您将需要一个您正在跟踪的“ConnectThread”和“ConnectedThread”的列表。因此,您只需使其适应多个线程(当然,还需要实现选择多个设备的能力)。 我已经做到了,而且并不难。
如果您想连接到一个设备,然后再连接到另一个(使用原始菜单一个接一个),那么您可能还有更多工作要做。
【讨论】:
要进行多重连接,您必须为要连接的每个设备创建单独的线程。 每个线程都有单独的方法来读取和写入远程设备的数据。
查看此链接
【讨论】: