【问题标题】:Android : how to detect already connected usb device?Android:如何检测已连接的 USB 设备?
【发布时间】:2015-05-12 05:03:43
【问题描述】:

我正在尝试检测已连接到 android 的 USB 设备。 我知道有一些操作可以检测 USB 何时连接或分离。 但我真的不知道如何在将 USB 设备连接到 android 后检查设备。 另外,我发现每个 USB 设备都有它的设备类代码,但我如何确定连接的是哪种设备?例如,我需要同时检测 USB 鼠标和键盘;如何区分它们?

【问题讨论】:

    标签: android usb


    【解决方案1】:

    试试这个:

    1. 首先注册广播用于 USB 连接。 清单权限:

    <intent-filter> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> </intent-filter>
    
    1. 使用这个获取带有详细信息的 USB 设备列表

      public void getDetail() {
      UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
      
      HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
      Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
      while (deviceIterator.hasNext()) {
          UsbDevice device = deviceIterator.next();
      
          manager.requestPermission(device, mPermissionIntent);
          String Model = device.getDeviceName();
      
          int DeviceID = device.getDeviceId();
          int Vendor = device.getVendorId();
          int Product = device.getProductId();
          int Class = device.getDeviceClass();
          int Subclass = device.getDeviceSubclass();
      
      }}
      

    【讨论】:

    • 设备类和子类应该告诉您有关设备的信息,除非它是特定于供应商的 - 在这种情况下,您应该能够查看 VID/PID - 但您必须知道什么您正在寻找的供应商特定设备。
    • mPermissionIntent 是什么?我怎样才能创建这个?
    【解决方案2】:

    在这里回答 Benny 的问题是 mPermissionIntent 的样子:

    string actionString = context.PackageName + ".action.USB_PERMISSION";
    
    PendingIntent mPermissionIntent = PendingIntent.GetBroadcast(context, 0, new 
    Intent(actionString), 0);
    mUsbManager.RequestPermission(device, permissionIntent);
    

    【讨论】:

    • string actionString = context.PackageName + ".action.USB_PERMISSION"; 是错误的。应该是string actionString = context.PackageName + ".USB_PERMISSION";
    猜你喜欢
    • 1970-01-01
    • 2013-11-10
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多