Android отправляет данные на сокет RFCOMM

Я подключаю медицинское устройство Bluetooth к своему приложению для Android. Итак, я создал канал связи RFCOMM (протокол SPP), потому что медицинское устройство поддерживает протокол связи SSP. Руководство по устройству дает мне структуру команды для отправки по протоколу SPP. например 0x02 0x70 0x04 0x0A, которые представляют простую 4-байтовую команду). Итак, мне нужно отправить такую ​​команду (совместимую с протоколом SPP).

После создания BluetoothSocket я получаю потоки ввода и вывода (по этой ссылке) таким образом:

  InputStream iStream = null;
  iStream = socket.getInputStream(); // socket is my BluetoothSocket object
  OutputStream oStream = null;
  oStream = socket.getOutputStream();

Что я могу сделать в этот момент, чтобы отправить команду, представленную шестнадцатеричной последовательностью 0x02 0x70 0x04 0x0A?


person GVillani82    schedule 19.12.2012    source источник
comment
Почему бы вам просто не вызвать метод write() из объекта oStream? Я предполагаю, что этот метод поддерживает запись байтов в сокет.   -  person Tobias Moe Thorstensen    schedule 19.12.2012
comment
@ Джозеф82, ты нашел какое-нибудь решение?   -  person Jaiprakash Soni    schedule 22.01.2013


Ответы (1)


Вы можете использовать запись в OutputStream для записи массивов байтов.

byte[] bytes = new byte[]{ 0x02,0x70,0x04,0x0A };
oStream.write(bytes);
person Genko    schedule 27.02.2013