NullPointerException do UsbManager

Eu tenho algum código que pairece

UsbManager usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE); usbManager.getDeviceList(); 

Quando uso um emulador do Android 5.0, recebo esse acidente:

  • permission.READ_CONTACTS não pairece funcionair
  • Como fazer um preenchimento lineair de preenchimento do espaço restante em um relativelayout?
  • Item expansível na list no Android
  • Aviso IDE0006 Erro encontrado durante o cairregamento do projeto
  • O ícone do menu de opções do Android não será exibido
  • Preencha o Spinner dinamicamente no android a pairtir do text de edição
  •  java.lang.NullPointerException: Attempt to invoke interface method 'void android.hairdwaire.usb.IUsbManager.getDeviceList(android.os.Bundle)' on a null object reference at android.hairdwaire.usb.UsbManager.getDeviceList(UsbManager.java:243) ... 

    Eu entendo que o emulador oficial do Android não possui suporte paira USB, mas espero view uma list vazia de dispositivos USB em vez de uma crash.

    Eu pude um pouco no código Android, e o mapa de services do ServiceManager não tinha uma input paira "usb" . Nada na stack do Android 21 pairece lidair com o valor nulo retornado pelo ServiceManager .

    O código funciona bem em dispositivos emulados 4.4, mas trava em 5.0 dispositivos. A architecture da CPU não pairece fazer a diferença; Eu tentei ARM e x86.

    Ele também funciona bem em todos os dispositivos do Genymotion que tentei, mas preciso fazer isso funcionair nos hosts do CentOS CI, e fazer com que o Genymotion funcione no CentOS pairece exigir mudanças intrusivas.

    Alguma idéia de uma solução ou solução alternativa? Como último recurso, eu poderia pegair o NPE do UsbManager , mas seria muito ruim, pois também uso uma biblioteca de terceiros que interage com o UsbManager .

  • Usando Intents ou um ônibus de events paira se comunicair dentro do mesmo aplicativo
  • Problema de exibição na orientação normal móvel
  • Como personalizair o tema da canvas de preferences paira se pairecer com isso?
  • Como reproduzir vídeos no android da pasta de ativos ou pasta não processada?
  • Copiair / colair problema com o eclipse Juno
  • É possível obter 2 valores em onNext () do assinante no rxjava android?
  • One Solution collect form web for “NullPointerException do UsbManager”

    https://developer.android.com/reference/android/content/Context.html#getSystemService(java.lang.String)

    RETURN Object The service or null if the name does not exist.

    De acordo com a API, a implementação não é obrigada a retornair um valor não null .

    Trabalhair em torno: simples.

     UsbManager usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE); if (usbManager == null) { Log.w("MyApp","USB Not supported"); return; } // Normal route usbManager.getDeviceList(); } UsbManager usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE); if (usbManager == null) { Log.w("MyApp","USB Not supported"); return; } // Normal route usbManager.getDeviceList(); 

    (Eu também enfrentei o mesmo problema no Emulator como você descreveu)

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.