Отправить простую картинку через USB Host на Android

Я уже пробовал программу с использованием фрагментов кода на https://developer.android.com/guide/topics/connectivity/usb/host.html

Я могу обнаружить подключенный UsbDevice, но до сих пор не знаю, как установить соединение, чтобы я мог передать простой файл JPEG и получить его на стороне получателя. Любое руководство будет оценено.

1 ответ

Я не уверен, где именно вы застряли, но ссылка, которую вы разместили, кажется, содержит всю необходимую информацию. Как только вы овладели UsbDevice Вам необходимо запросить разрешение на связь (см. Получение разрешения на связь с устройством). Затем вы можете передать данные, используя следующий код:

private Byte[] bytes;  //Convert your jpeg into a byte array and load it in this variable.
private static int TIMEOUT = 0;
private boolean forceClaim = true;

...

UsbInterface intf = device.getInterface(0);
UsbEndpoint endpoint = intf.getEndpoint(0);
UsbDeviceConnection connection = mUsbManager.openDevice(device); //this opens the connection
connection.claimInterface(intf, forceClaim);
connection.bulkTransfer(endpoint, bytes, bytes.length, TIMEOUT); //this actually sends the bytes to the other device.

С другой стороны вам нужно будет преобразовать ваш байтовый массив обратно в JPEG

Смотрите этот код для полного образца.

Другие вопросы по тегам