Cambiar los datos del paquete de intenciones antes de volver a crear una actividad después del cambio de orientación

Tengo una notificación que inicia mi actividad y pasa mensajes usando la función putExtra () de la intención. El mensaje se muestra entonces al usuario en la función onCreate de la actividad. Cuando se reinicia la aplicación debido a un cambio de orientación, el mensaje se muestra nuevamente, ya que todavía está en los datos agrupados de la intención.

¿Cómo puedo eliminar los datos adicionales?

He intentado lo siguiente:

Bundle bundle = getIntent().getExtras(); if (bundle.getBoolean("showMessage")) { // ... show message that is in bundle.getString("message") // remove message bundle.remove("showMessage"); } 

Pero el mensaje seguirá siendo mostrado después de la orientación cambiada, parece que la intención utilizada no es la que he cambiado, pero el original. La única solución que encontré es guardar el showMessage adicionalmente en o nSaveInstanceState() . ¿Hay otra manera? ¿O es este el camino a seguir?

La solución (simple) es:

En lugar de llamar

 bundle.remove("showMessage"); 

Ahora uso

 getIntent().removeExtra("showMessage"); 

Que funciona como se esperaba. Parece getIntent (). GetExtras () devuelve una copia, no una referencia.

Su enfoque onSaveInstanceState() es la respuesta correcta, AFAIK.

  • ¿Qué es diferente de putSerializable y putParcelable en Java?
  • ¿Por qué el objeto Bundle siempre es nulo en onCreate ()?
  • El administrador de aplicaciones para Android muestra un nombre de aplicación incorrecto
  • Restauración de la vista SavedState lanza ClassNotFoundException al desmarcar la vista principal SavedState
  • Android: Cambiar el nombre del paquete en Eclipse
  • ¿Cómo ordenar y unmarshall un parcelable a un arsenal del byte con la ayuda del paquete?
  • ¿Cómo puedo convertir un Bundle a un PersistableBundle?
  • Compruebe si los extras están ajustados o no
  • ¿Cuál debería ser el nombre del paquete de la aplicación Android?
  • ¿Cómo administrar las aplicaciones instaladas (con permiso de root si es necesario)?
  • Parcelable donde / cuando se describeContents () usado?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.