UsbManager.getDeviceList() 返回空

Ben*_* Ma 5 usb android

我想UsbManager通过编写以下代码来使用API:

在活动代码中:

        UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);

        HashMap<String, UsbDevice> deviceList = manager.getDeviceList();

        Log.d(TAG, "size =" + deviceList.size());
Run Code Online (Sandbox Code Playgroud)

在清单中:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

    <permission android:name="android.hardware.usb.host" >

</permission>

<uses-feature android:name="android.hardware.usb.host" android:required="true" />
Run Code Online (Sandbox Code Playgroud)

我也跟着这个问题,检查了我的 Galaxy SII 9100G。它确实有/system/etc/permissions/android.hardware.usb.host.xml, 和正确的权限。

但是manager.getDeviceList()当我尝试闪存驱动程序和鼠标时总是返回零。

任何人都可以给我任何建议吗?

sti*_*ike 0

这段代码对我来说效果很好。尽管您的代码看起来相似,但您可以重新检查。

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

  while(it.hasNext()) {
    UsbDevice device = it.next();
    // use device info
  }
Run Code Online (Sandbox Code Playgroud)