android: usbManager.getDeviceList() возвращает пустой список после загрузки
Я разрабатываю приложение, которое использует USB-устройство через режим хоста USB. Я использую IntentFilter для ACTION_USB_DEVICE_ATTACHED, чтобы я мог подключаться и взаимодействовать с устройством после его подключения. Проблема возникает, когда я включаю (или перезагружаю) телефон с уже подключенным USB-устройством. Когда я открываю свое приложение после включения, я не вижу устройство.
Следующий код приводит к пустому списку устройств.
usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = usbManager.getDeviceList();
Справочник разработчиков Android говорит о getDeviceList ():
Результат будет пустым, если никакие устройства не подключены, или если хост-режим USB неактивен или не поддерживается.
Режим USB-хоста, очевидно, поддерживается на телефоне, и устройство тоже подключено. Поэтому я думаю, что режим хоста по умолчанию неактивен.
Если я отсоединяю и снова подключаю USB-устройство, оно работает отлично, но поскольку устройство и телефон находятся в специальном держателе вместе, переподключение их немного сложнее. Есть ли способ активировать режим хоста из кода?