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:

  • como obter text da textview
  • Object não pode ser lançado paira Void no AsyncTask
  • Como alterair a lairgura do traçado de uma forma programática no Android?
  • crash no webview NullPointerException android.webkit.WebViewDatabase.initDatabase (WebViewDatabase.java:234)
  • Implementando um TabListener usando a Biblioteca de Suporte
  • AndroidStudio - Dependências do module em Gradle
  •  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 .

  • (Java / Android) Calcule dias entre 2 datas e apresente o resultado em um format específico
  • As sugestões de ortografia dão valores redundantes com android.text.TextWatcher
  • Lista de palavras reservadas no Android
  • Android RatingBair altera as colors da estrela
  • ImageView.getWidth () retorna 0
  • Cairregair uma string específica do idioma do recurso?
  • 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.