Нет проблем, рад помочь :)
аюсь подключить свое устройство к другому через Bluetooth, но когда я выбираю устройство, к которому хочу подключиться, я получаюIOException
поговорка
чтение не удалось, сокет может быть закрыт или тайм-аут, чтение ret: -1
Просто чтобы проиллюстрировать, как работает мое приложение, у меня естьRecyclerView
заполненный устройствами, которые обнаружил мой скан Bluetooth, затем, когда я нажимаю на элемент, приложение должно соединиться с этим устройством.
Ниже мой код для моего потока подключения:
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)
}
Я думаю, что-то не так с моим UUID. Я пробовал некоторые другие значения, но все еще не работал.
Любая помощь будет высоко ценится.