我正在尝试将Arduino开发板与我的Odys Neo x8平板电脑一起使用,但似乎UsbManager无法识别该设备。我通过OTG适配器将arduino连接到平板电脑,以便平板电脑可以在主机模式下工作,Arduino已成功从设备获得电源。
我在平板电脑上获取可用USB设备的列表,如下所示:

sUsbController = new UsbController(this, mConnectionHandler, 0, 0);
        HashMap<String, UsbDevice> devlist = sUsbController.mUsbManager.getDeviceList();
        TextView t = ((TextView)findViewById(R.id.textView));
        t.setText("Found " + Integer.toString(devlist.size()) + " devices");

在类UsbController中:
mUsbManager = (UsbManager) mApplicationContext
            .getSystemService(Context.USB_SERVICE);

但不幸的是,即使我开始使用VID和PID(两个零)进行过滤,列表也仍然为空。
对于如何解决这个问题,有任何的建议吗?

最佳答案

我使用了以下代码,该代码在键盘,鼠标和大容量存储设备上可以很好地与Pandaboard连接,

  UsbManager usbManager = (UsbManager) getSystemService(USB_SERVICE);
  HashMap<String, UsbDevice> devicelist = usbManager.getDeviceList();
  Iterator<UsbDevice> deviceIterator = devicelist.values().iterator();

  while(deviceIterator.hasNext()) {
    UsbDevice usbDevice = deviceIterator.next();
    Log.i(Log_Tag, "Model     : " +usbDevice.getDeviceName());
    Log.i(Log_Tag, "Id        : " +usbDevice.getDeviceId());
  }

这也应该与Arduino一起使用。

10-06 01:40