Ошибка подключения Bluetooth для Android (сбой чтения сокета может быть закрыт или таймаут)

Я хочу подключиться из своего приложения в Android-устройстве к удаленному устройству (в паре). Удаленным устройством является модуль HC-05.
Мой код:

UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); //Standard SerialPortService ID try { mSocket = MyDevice.createRfcommSocketToServiceRecord(uuid); } catch (IOException e) { Toast.makeText(this, "S", Toast.LENGTH_SHORT).show(); } ba.cancelDiscovery(); try { mSocket.connect(); } catch (IOException e){ Toast.makeText(this, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); Log.e("YOUR_APP_LOG_TAG1", "I got an error", e); } try { mOutputStream = mSocket.getOutputStream(); mInputStream = mSocket.getInputStream(); } catch (IOException e) { Toast.makeText(this, "io", Toast.LENGTH_SHORT).show(); } 

Но я получаю сообщение об ошибке в строке mSocket.connect ().

Ошибка:

Read failed socket может быть закрыт или тайм-аут читать ret

пожалуйста помоги.

Это может быть вызвано множеством вещей – в моем случае я нашел три:

  1. Проблемы с питанием – HC-05 не был стабильным, даже несмотря на то, что он не показывал это с заметным мигающим светодиодным рисунком. Замена батареи исправила это.

  2. Другое устройство было сопряжено с HC-05 и иногда «украло» соединение. Возможно, исправлена ​​некоторыми настройками с помощью AT-команд, но я просто просто не спал всего, кроме одного устройства.

  3. Устройство выключено / выключено.