如何以编程方式检查Android设备上的USB主机支持?

时间:2013-03-24 13:20:14

标签: android usb accessory usb-otg

我知道它支持启动Android 3.1,我的意思是“如何检查硬件支持”

2 个答案:

答案 0 :(得分:2)

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

   context.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_USB_HOST);

答案 1 :(得分: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) {
                //...
            }
        }
    }
}