好的我有USB设备。
我想知道如何从vendorID和DeviceID识别“供应商名称”和“设备名称”。
我从USBManagers的DeviceList Hashmap获得的设备名称是一些毫无意义的名称。
最后我想要的是这样的:
(硅 - 电力8GB)
任何帮助都非常感谢fellas:)
答案 0 :(得分:4)
您可以从以下网址获取VendorId
和ProductId
:
UsbDevice.getVendorId();
UsbDevice.getProductId();
您需要将int值转换为十六进制,并将它们与供应商ID /产品ID列表进行比较。
您可以找到此列表here。
我会把解析留给你,但这很简单。您可以在文件顶部找到结构:
#语法:
#vendor vendor_name
#device device_name< - 单标签
#interface interface_name< - 两个标签
答案 1 :(得分:0)
在API 21中添加了这些方法。就这么简单:
UsbManager usbManager = (UsbManager) getSystemService(USB_SERVICE);
if (usbManager != null) {
HashMap<String, UsbDevice> devices = usbManager.getDeviceList();
for (String key: devices.keySet()) {
Log.d(TAG, "Device Name: " + devices.get(key).getDeviceName());
Log.d(TAG, "Manufacturer Name: " + devices.get(key).getManufacturerName());
Log.d(TAG, "Product Name: " + devices.get(key).getProductName());
}
}
您可以按vendorId进行过滤并打印。