2013-03-24 2 views
3

Я знаю, что он поддерживается, начиная Android 3.1, я имею в виду «как проверить поддержку оборудования»Как проверить программную поддержку usb host на устройстве Android?

+0

Любопытный окажись решение, что вы обнаружили. Не было большой удачи в поиске на форумах. Если бы эта мысль была частью SDK, которая хотела бы знать, но, вероятно, не захотела бы исключить приложение в хранилище, если ему не хватало возможности. –

ответ

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) { 
       //... 
      } 
     } 
    } 
} 
+0

Если ваше устройство не поддерживает usb-хост, у вас будет пустой список устройств USB. поэтому кажется, что ваше решение не работает – 4ntoine

+0

А ... Я неправильно понял вопрос. Так вы спрашиваете, как проверить поддержку USB Host перед подключением любых USB-устройств? –

+0

Грубый, это зависит от возможностей аппаратного обеспечения устройства Android, но не от подключенных устройств USB. – 4ntoine

2

См: http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_USB_HOST

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

Google ничего не знает о 'ANDROID_FEATURE_HARDWARE_USB_HOST' – 4ntoine

+2

Пожалуйста, добавьте в свой ответ какое-то объяснение, как и почему оно решает проблему. Как бы то ни было, это бесполезно для других. – LcSalazar

+0

Исправлен мой ответ – GabrielWeis

Смежные вопросы