无法连接到蓝牙设备的特定UUID

时间:2017-09-01 09:53:51

标签: android bluetooth connection uuid

我无法连接到蓝牙设备的特定UUID:

private void initBt() {
    BluetoothAdapter blueAdapter = BluetoothAdapter.getDefaultAdapter();
    if (blueAdapter != null) {
        blueAdapter.enable();
        if (blueAdapter.isEnabled()) {

            BluetoothDevice device = blueAdapter.getRemoteDevice("B0:00:00:00:00:F3");

            UUID uuid = UUID.fromString("0000fff1-0000-0000-0000-00805f9b34fb");
            BluetoothSocket socket = device.createRfcommSocketToServiceRecord(uuid);
            socket.connect();
            outputStream = socket.getOutputStream();

        } else {
            Log.e("error", "Bluetooth is disabled.");
        }
    } else {
        throw new IOException("BluetoothAdapter failure");
    }
}

我想获取此UUID的输出流,以便我可以向其发送消息。 我从App LightBlue获得了UUID。

我无法配对设备(如果LightBlue可以在没有手动配对的情况下将消息发送到UUID,我认为我不需要)。

在socket.connect()上抛出IOException;陈述:

java.io.IOException: read failed, socket might closed or timeout, read ret: -1

我哪里错了?

感谢您的帮助。

更新

我也尝试了

device.createInsecureRfcommSocketToServiceRecord(uuid);

并仔细检查我是否拥有所有权限(蓝牙,BluetoothAdmin和AccessFineLocation)。

0 个答案:

没有答案