Android蓝牙API连接到多个设备

时间:2010-12-17 07:58:31

标签: android bluetooth

我们可以连接多台设备吗?谁可以为我分享代码!这个问题困扰了我很久了!谢谢!

5 个答案:

答案 0 :(得分:6)

我会说代码不是问题。正确的实现是为每个连接管理一个线程但是我发现根据手机的蓝牙实现,你可以同时连接的设备数量是有限的。蓝牙规格说明7个设备可以连接但是我发现Android手机只能处理1个蓝牙连接,而其他人可以处理6个。如果Android开发团队的某个人可以在这里更深入地进行,那么蓝牙开发社区真的会有所帮助。 / p>

答案 1 :(得分:4)

是的,您可以设置多个蓝牙连接(至少是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);

答案 2 :(得分:2)

是的,连接蓝牙服务器插槽中的多个设备可以试试这个lib

答案 3 :(得分:0)

就像巴里所说,你可以连接到多个设备。只需为每个连接创建一个新线程。你需要有一个你正在跟踪的'ConnectThread'和'ConnectedThread'列表。因此,您只需针对多个线程进行调整(当然,实现选择多个设备的能力)。 我做到了这一点,并不是太难。

如果您想连接到某个设备然后连接到另一个设备(使用原始菜单逐个连接),那么您可能还需要做更多的工作。

答案 4 :(得分:0)

要进行多重连接,您必须为要连接的每个设备创建单独的线程。 每个线程都将读取和写入数据的方法分离到远程设备。

请参阅此链接

Android Bluetooth multiple connection issue?