В основном, когда я вызываю метод, я хочу, чтобы мой android подключился к моему bluetooth и отправил данные asciii, однако в той части, где написано
do {
try {
btsocket = hc05.createRfcommSocketToServiceRecord(mUUID);
System.out.println(btsocket);
btsocket.connect();
System.out.println(btsocket.isConnected());
} catch (IOException e) {
e.printStackTrace();
}
, это не удается и показывает это. система подключена к сокету и даже не возвращает true или false
I/System.out: android.bluetooth.BluetoothSocket@5854faf
W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
W/System.err: java.io.IOException: read failed, socket might closed or timeout, read ret: -1
W/System.err: at android.bluetooth.BluetoothSocket.readAll(BluetoothSocket.java:740)
Полный код для метода
public void connectbt(String asciii) {
int count = 0;
BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
System.out.println(btAdapter.getBondedDevices());
String MACADDRESS = "98:D3:31:F4:19:92"; //fill out the mac address of the hco5 module
BluetoothDevice hc05 = btAdapter.getRemoteDevice("98:D3:31:F4:19:92");
System.out.println(hc05.getName());
BluetoothSocket btsocket = null;
do {
try {
btsocket = hc05.createRfcommSocketToServiceRecord(mUUID);
System.out.println(btsocket);
btsocket.connect();
System.out.println(btsocket.isConnected());
} catch (IOException e) {
e.printStackTrace();
}
count++;
} while (!btsocket.isConnected() && count < 3);
try {
OutputStream outputStream = btsocket.getOutputStream();
outputStream.write(asciii.toString().getBytes());
} catch (IOException e) {
e.printStackTrace();
}
try {
btsocket.close();
} catch (Exception e) {
}
}
Также я следовал учебному пособию по ссылке: https://www.youtube.com/watch?v=TLXpDY1pItQ