Использую этот метод для приему сообщения длинной 8 байт.
Код: Выделить всё
public void run() {
byte[] buffer = new byte[8];
int bytes;
while (true) {
try {
bytes = mmInStream.read(buffer); //read bytes from input buffer
StringBuilder sb = new StringBuilder();
for (byte b : buffer) {
sb.append(String.format("%02X", b));
}
bluetoothIn.obtainMessage(handlerState, bytes, -1, sb).sendToTarget();
} catch (IOException e) {
break;
}
}
}
sb[0] = 0x46;
sb[1] = 0x00;
sb[2] = 0x0C;
sb[3] = 0xFF;
sb[4] = 0xFF;
sb[5] = 0x00;
sb[6] = 0x86;
sb[7] = 0x00;
Причем если первые байты равны 0x00 они просто не отображаются, то есть на самом деле должно быть:
sb[0] = 0x00;
sb[1] = 0x46;
sb[2] = 0x00;
sb[3] = 0x0C;
sb[4] = 0xFF;
sb[5] = 0xFF;
sb[6] = 0x00;
sb[7] = 0x86;
Помоги пожалуйста!