2011-08-04 63 views
4

我曾嘗試寫入掃描USB端口和顯示連接設備的基本信息的原始活動。我特別感興趣的是閱讀設備類,我相信UsbDevice.getDeviceClass()方法是用於。下面是它的樣子:Android SDK:如何讀取USB設備的類?

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.我怎樣才能獲得設備類?

回答

3

USB類是接口的屬性,而不是設備。迭代接口按預期工作:

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