Compruebe si los extras están ajustados o no

¿Hay alguna forma de comprobar si se ha pasado un extra al iniciar una actividad?

Me gustaría hacer algo como (en el onCreate() en la actividad):

  Bundle extras = getIntent().getExtras(); String extraStr = extras.getString("extra"); if (extraStr == null) { extraStr = "extra not set"; } 

Pero esto es lanzar una java.lang.NullPointerException .

Gracias.

Utilice el Intent.hasExtra(String name) para comprobar si un extra con name se pasó en la intención.

Además, use Intent.getStringExtra(String name) directamente en la intención de manejar la NullPointerException si no se pasaron extras.

Bueno, tuve problemas similares. En mi caso la excepción de punto nulo ocurrió cuando comprobé si mi bundle.getString () era igual a null.

Aquí es cómo EN MI CASO lo resolví:

 Intent intent = getIntent(); if(intent.hasExtra("nomeUsuario")){ bd = getIntent().getExtras(); if(!bd.getString("nomeUsuario").equals(null)){ nomeUsuario = bd.getString("nomeUsuario"); } } 

Yo usaría esta solución en su caso.

 String extraStr; try { extraStr = getIntent().getExtras().getString("extra"); } catch (NullPointerException e ) { extraStr = "something_else"; } 
 if (this.getIntent().getExtras() != null && this.getIntent().getExtras().containsKey("yourKey")) { // intent is not null and your key is not null } 

Creo que usted necesita para comprobar cuando extras! = Null

 Bundle extras = getIntent().getExtras(); if (extraStr != null) { String extraStr = extras.getString("extra"); }else (extraStr == null) { extraStr = "extra not set"; } 
  • ¿Cuánto dura un paquete?
  • Crea un objeto java personalizado Parcelable en Android
  • Android.os.BadParcelableException: ClassNotFoundException cuando unmarshalling: com.facebook.flatbuffers.helpers.FlatBufferModelHelper $ LazyHolder
  • Instale el paquete: 'Android Support Library'
  • Escritura de arreglos de Parcelables a un paquete en Android
  • Cómo comprobar si Facebook está instalado Android
  • Parcelable, ¿qué es newArray para?
  • ¿Cómo ordenar y unmarshall un parcelable a un arsenal del byte con la ayuda del paquete?
  • ¿Cómo puedo modificar y volver a publicar una aplicación AOSP?
  • Paquete de análisis desde la notificación de android push
  • Choques de nombres de paquetes con clase del mismo error de nombre en android studio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.