BluetoothSocket no se conecta al dispositivo de destino

Estoy tratando de conectar mi dispositivo a otro a través de Bluetooth, pero cuando selecciono el dispositivo con el que quiero conectarme, obtengo unIOException diciendo

lectura fallida, el socket puede cerrarse o tiempo de espera, leer ret: -1

Solo para ilustrar cómo funciona mi aplicación, tengo unRecyclerView poblado con los dispositivos que mi escaneo Bluetooth ha encontrado, luego, cuando hago clic en un elemento, se supone que la aplicación se conecta con ese dispositivo.

A continuación está mi código para mi hilo de conexión:

private val MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb")

private lateinit var device: BluetoothDevice
private lateinit var onDeviceActionListener: OnDeviceActionListener
private lateinit var socket: BluetoothSocket

fun init(device: BluetoothDevice,
         onDeviceActionListener: OnDeviceActionListener): ConnectionThread {
    this.device = device
    this.onDeviceActionListener = onDeviceActionListener
    try {
        socket = device.createRfcommSocketToServiceRecord(MY_UUID)
    } catch (e: IOException) {
        Log.e(TAG, "Error creating socket", e)
    }
    return this
}

override fun run() {
    try {
        socket.connect()
    } catch (openException: IOException) {
        Log.e(TAG, "Error opening connection. Trying to close...", openException)
        try {
            socket.close()
        } catch (closeException: IOException) {
            Log.e(TAG, "Error closing socket", closeException)
        }
        return
    }
    onDeviceActionListener.onDeviceConnect(device)
}

Supongo que hay algo mal con mi UUID. He intentado algunos otros valores pero aún no funcionó.

Cualquier ayuda será muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta