小智 6
我会说代码不是问题.正确的实现是为每个连接管理一个线程但是我发现根据手机的蓝牙实现,你可以同时连接的设备数量是有限的.蓝牙规格说明7个设备可以连接但是我发现Android手机只能处理1个蓝牙连接,而其他人可以处理6个.如果Android开发团队的某个人可以在这里更深入地进行,那将真正有助于蓝牙开发社区.
是的,您可以设置多个蓝牙连接(至少 RFCOMM 连接)。只需使用替代线程进行连接,它就可以正常工作(我猜)另请参阅:http ://developer.android.com/resources/samples/BluetoothChat/index.html
编辑,注释布局不可读:在connectThread函数中,更改:
tmp = device.createRfcommSocketToServiceRecord(MY_UUID);
Run Code Online (Sandbox Code Playgroud)
到:
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
tmp = (BluetoothSocket) m.invoke(device, 1);
Run Code Online (Sandbox Code Playgroud)