Java 打开Android蓝牙插座时出现问题
我正在尝试将我的Android设备连接到通过蓝牙连接进行通信的脉冲传感器设备 我遵循了Android,下面是我代码的核心:Java 打开Android蓝牙插座时出现问题,java,android,sockets,bluetooth,android-bluetooth,Java,Android,Sockets,Bluetooth,Android Bluetooth,我正在尝试将我的Android设备连接到通过蓝牙连接进行通信的脉冲传感器设备 我遵循了Android,下面是我代码的核心: BluetoothDevice mDevice = mBlueToothAdapter.getRemoteDevice(MAC_DEVICE); ParcelUuid[] uuids = mDevice.getUuids(); uuid仅包含一个具有此值的条目: 00001101-0000-1000-8000-00805f9b34fb 在此之后,我有以下代码: Blu
BluetoothDevice mDevice = mBlueToothAdapter.getRemoteDevice(MAC_DEVICE);
ParcelUuid[] uuids = mDevice.getUuids();
uuid仅包含一个具有此值的条目:
00001101-0000-1000-8000-00805f9b34fb
在此之后,我有以下代码:
BluetoothSocket mmSocket = device.
createInsecureRfcommSocketToServiceRecord(uuids[0].getUuid());
在这里,我可以看到mmSocket的状态是INIT
然后我叫:
mmSocket.connect();
这只是偶尔起作用。大多数情况下,此调用会生成以下IOException:
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
如果通过调试检查套接字的状态,我可以看到它没有关闭,但它仍然处于INIT状态
我还尝试使用createrFComSocketToServiceRecord
方法创建套接字。我还尝试了基本UUID:
00000000-0000-1000-8000-00805f9b34fb
但结果是一样的
如何解决此问题?您正在使用哪种设备?我的智能手机是三星S4 Active(但我也尝试了OnePlus One),而我要连接的蓝牙设备是Pulse(也称为Body Gateway,由意法半导体公司创建),我最近正在开发此Bluetppth聊天演示。我也面临着同样的问题。我找到了解决办法。我的三星S3生成了10个UUID。现在,当我一个接一个地尝试时,我发现有些工作,有些不工作。我只是建议你一个接一个地尝试一下UUID。我想我应该使用一个UUID,根据它提供的服务,充当服务器的分区被配置为使用它。由于设备(身体网关)提供SPP服务,我使用了
00001101-0000-1000-8000-00805f9b34fb UUID
,如前所述。但是,您建议尝试哪些UUID?