Проблема с USB-хостом в Android с планшетом Samsung Galaxy 10.1

Я пытаюсь использовать возможности USB-хоста на планшете Samsung Galaxy. Я купил ключ вложения от Samsung (http://www.samsung.com/us/mobile/galaxy-tab-accessories/EPL-1PL0BEGSTA). Когда я впервые подключил USB-устройство через этот ключ, у меня была большая ошибка питания от Galaxy Tablet - к вашему сведению используется USB-концентратор с внешним питанием, и вы можете подключить его.

Теперь, когда само устройство признает наличие периферийного устройства USB, когда я его подключаю, я попытался использовать Android android.hardware.usb.UsbDevice; импорт android.hardware.usb.UsbManager; библиотека. Я видел, что есть два метода для распознавания устройства USB, регистрации приемника вещания для прослушивания намерений через

IntentFilter usbIntentFilter = new IntentFilter();
usbIntentFilter.addAction("android.hardware.usb.action.USB_DEVICE_ATTACHED");          
usbIntentFilter.addAction("android.hardware.usb.action.USB_DEVICE_DETACHED"); 
registerReceiver(mUsbReceiver,usbIntentFilter);

Это не вызывает никаких намерений, когда я подключаю какие-либо устройства, странно ... хорошо. Итак, я попробовал следующий метод: явный запрос списка устройств через UsbManager - это было сделано следующим образом:

HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
    int count = deviceList.size();
    Iterator<UsbDevice> iterator = deviceList.values().iterator();

    if(iterator.hasNext()){
    UsbDevice deviceVal = iterator.next();
    testTxtView1.setText("set device " + deviceVal); 
    }

Предполагается, что это будет одно (в настоящее время только одно USB-устройство поддерживается в документации Google) USB-устройство, которое в данный момент подключено. Чтобы проверить это, я бы вызвал приведенный выше код при нажатии кнопки и отобразил результаты устройства. По какой-то причине я получаю устройство из списка устройств каждый раз, подключен ли USB-ключ или нет. Кроме того, устройство всегда одинаково независимо от USB-ключа (или его отсутствия). Вывод следующий:

устройство

^^ значение @ 406ff4d8 меняется каждый раз, когда я запрашиваю этот код (я просто помещаю его в один экземпляр)

Я искал везде и не смог найти аналогичные проблемы или решения, которые могут относиться к моей ситуации. Я попытался реализовать примеры USB-устройств от Google (именно это я и сделал, я разорвал их) и столкнулся с этими проблемами.

Я должен также упомянуть состав моего манифеста:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="edu.mit.ll.drm4000"
  android:versionCode="1"
  android:versionName="1.0">
<uses-feature android:name="android.hardware.usb.host" />
<uses-sdk android:minSdkVersion="12" />

<application android:icon="@drawable/icon" android:label="@string/app_name">


    <activity android:name=".DRM4000Activity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <intent-filter>
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
        </intent-filter>

        <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
            android:resource="@xml/device_filter" />

    </activity>

</application>

и фильтр устройства:


(Я удалил критерии на фильтре устройства, но также попытался вставить определенную информацию об устройстве, которое я ищу ... оба безрезультатно.)

Любая помощь по этой проблеме будет высоко ценится!

Другое обновление: устройство, на которое я жаловался, всегда перечисляется в списке устройств

устройство

должен быть USB-порт на стороне Android или что-то ... потому что я начал подключать к своему коду кучу разных устройств и обнаружил, что (похоже на эту ссылку:USB_DEVICE_ATTACHED Намерение не срабатывает) HID-устройства, Arduino-устройства ... и, к сожалению ... мое USB-устройство, похоже, не выполняет намерение или не перечисляется концентратором USB. Я попытался с флеш-накопителем USB, и он ДЕЙСТВИТЕЛЬНО перечислил его и работал ... однако он отображается как ВТОРОЕ устройство в списке, первым из которых является вездесущий usbDevice, перечисленный выше. Намерения действительно стреляют с этим все же.

Кто-нибудь знает обходной путь к запуску намерений с HID-устройствами и другими USB-устройствами, за исключением того, что, похоже, сейчас делает несколько избранных Android?

Ответы на вопрос(1)

Ваш ответ на вопрос