У меня проблема с подключением к сопряженному устройству Bluetooth. Я пробовал много решений на этом сайте, но ни одно из них не работает.
Сценарий таков, что я отображал список сопряженных Bluetooth-устройств в виде списка. И добавляет на него onItemClickListener для подключения к выбранному устройству. Я создал асинтез, чтобы отделить задачу подключения от основного потока, но я обнаружил ошибку. это говорит.
W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
I/System.out: read failed, socket might closed or timeout, read ret: -1
вот моя AsyncTask, которая выполняет соединение.
private class BluetoothConnect extends AsyncTask<Void,Void,Void>{
private BluetoothSocket mmSocket;
private final BluetoothDevice mmDevice;
private BluetoothConnect(BluetoothDevice device) {
BluetoothSocket tmp = null;
mmDevice = device;
try {
tmp = device.createInsecureRfcommSocketToServiceRecord(mUUID);
} catch (IOException e) {
e.printStackTrace();
}
mmSocket = tmp;
}
@Override
protected Void doInBackground(Void... voids) {
bluetoothAdapter.cancelDiscovery();
try {
// Connect to the remote device through the socket. This call blocks
// until it succeeds or throws an exception.
mmSocket.connect();
} catch (IOException connectException) {
// Unable to connect; close the socket and return.
try {
mmSocket.close();
} catch (IOException closeException) {
Log.e(TAG, "Could not close the client socket", closeException);
}
}
return null;
}
}
Я использовал общий UUID для bluetooth, static final UUID mUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
.
Спасибо заранее, если кто-то может сказать, что я делаю не так.