Android SDK: cómo leer la clase de un dispositivo USB?

He intentado escribir la actividad primitiva para escanear el puerto del USB y exhibir la información básica para el dispositivo atado. Estoy específicamente interesado en la clase de dispositivo de lectura, que creo que el método UsbDevice.getDeviceClass () está destinado. Esto es lo que parece:

HashMap<String, UsbDevice> deviceList = findUsbDevices(); Iterator<UsbDevice> deviceIterator = deviceList.values().iterator(); if (deviceIterator.hasNext()) { UsbDevice device = deviceIterator.next(); String name = device.toString(); String cls = Integer.toString(device.getDeviceClass()); displayDeviceInfo(name, cls); } 

Sin embargo, no funciona como se esperaba, dando 0 para cualquier dispositivo que conecto. Muchos otros campos de objeto UsbDevice, como subclase o protocolo, también son 0. ¿Cómo puedo obtener la clase de dispositivo entonces?

La clase USB es el atributo de la interfaz, no del dispositivo. Las interfaces de iteración funcionan como se esperaba:

 int count = device.getInterfaceCount(); for (int i = 0; i < count; i++) { UsbInterface iface = device.getInterface(i); int cls = iface.getInterfaceClass(); } 
  • ¿Cómo instalo el controlador USB para Nexus One en Windows 7 con fines de depuración?
  • "No hay dispositivos conectados", tratando de conectar mi LG a mi máquina Ubuntu
  • Causa de android adb "dispositivo usb no encontrado" problemas?
  • Depuración de Android con conexión a Internet de PC
  • Android: api a dispositivos usb externos para aplicaciones robóticas
  • Android 4.2.2 Depuración USB "Permitir siempre desde este equipo" opción resultado en el objetivo desconocido para el dispositivo?
  • Android USB Vendor IDs de marca desconocida
  • Android 3.1 USB-Host - BroadcastReceiver no recibe USB_DEVICE_ATTACHED
  • Modificar libusb para aceptar descriptor de archivo
  • Escritura de controlador USB para Android
  • Google Glass no aparece como dispositivo Android por ADB
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.