O soquete Bluetooth não está conectado ao dispositivo de destino
Estou tentando conectar meu dispositivo a outro via Bluetooth, mas quando seleciono o dispositivo com o qual quero conectar, recebo umaIOException
dizendo
a leitura falhou, o soquete pode fechar ou atingir o tempo limite, ler ret: -1
Apenas para ilustrar como meu aplicativo funciona, eu tenho umRecyclerView
preenchida com os dispositivos encontrados pela minha varredura Bluetooth, quando clico em um item, o aplicativo deve se conectar a esse dispositivo.
Abaixo está o código para o meu thread de conexão:
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)
}
Meu palpite é que há algo errado com meu UUID. Eu tentei alguns outros valores, mas ainda não funcionou.
Qualquer ajuda será muito apreciada.