Android SDK:如何读取USB设备的类?

时间:2011-08-04 07:41:46

标签: android usb

我尝试过编写原始活动来扫描USB端口并显示连接设备的基本信息。我特别感兴趣的是阅读设备类,我相信UsbDevice.getDeviceClass ()方法的目的。这是它的样子:

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);
    }

但是,它没有按预期工作,为我连接的任何设备提供0。 UsbDevice对象的许多其他字段,如子类或协议,也是0.我怎样才能获得设备类?

1 个答案:

答案 0 :(得分:3)

USB类是接口的属性,而不是设备。迭代接口按预期工作:

int count = device.getInterfaceCount();
for (int i = 0; i < count; i++) 
{
    UsbInterface iface = device.getInterface(i);
    int cls = iface.getInterfaceClass();
}