3

我知道从 Android 3.1 开始就支持它,我的意思是“如何检查硬件支持”

4

2 回答 2

2

请参阅:http: //developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_USB_HOST

   context.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_USB_HOST);
于 2015-02-11T10:51:11.803 回答
0

我有同样的问题,经过一番谷歌搜索后,我发现了这个: http ://android.serverbox.ch/?p=549

总之,您的应用程序需要使用 UsbManager 系统服务并通过连接的 USB 设备进行枚举。

mUsbManager = (UsbManager) mApplicationContext.getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> devlist = mUsbManager.getDeviceList();
Iterator<UsbDevice> deviter = devlist.values().iterator();
while (deviter.hasNext()) {
    UsbDevice d = deviter.next();
    if (mUsbManager.hasPermission(d)) {
        UsbInterface usbIf = mDevice.getInterface(1);
        for (int i = 0; i < usbIf.getEndpointCount(); i++) {
            if (usbIf.getEndpoint(i).getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) {
                //...
            }
        }
    }
}
于 2013-10-30T05:51:18.513 回答