Android USBDevice:如何从vendorID和DeviceID确定“供应商名称”和“设备名称”?

时间:2013-10-29 10:44:29

标签: android usb android-launcher

好的我有USB设备。

我想知道如何从vendorID和DeviceID识别“供应商名称”和“设备名称”。

我从USBManagers的DeviceList Hashmap获得的设备名称是一些毫无意义的名称。

最后我想要的是这样的:

(硅 - 电力8GB)

任何帮助都非常感谢fellas:)

2 个答案:

答案 0 :(得分:4)

您可以从以下网址获取VendorIdProductId

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进行过滤并打印。