我尝试过编写原始活动来扫描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.我怎样才能获得设备类?
答案 0 :(得分:3)
USB类是接口的属性,而不是设备。迭代接口按预期工作:
int count = device.getInterfaceCount();
for (int i = 0; i < count; i++)
{
UsbInterface iface = device.getInterface(i);
int cls = iface.getInterfaceClass();
}