Después de pulsar el botón Inicio, la aplicación de reinicio muestra la actividad inicial no actual

Tengo una aplicación que tiene una actividad inicial (A – también la especificada en el lanzador) desde la que permite al usuario iniciar otra actividad (B). Estoy guardando el estado de la actividad B (onSaveInstanceState () y restaurándolo en onCreate ()).

En algunos teléfonos (N1 y Motrola Milestone a partir de ahora, pero no el Galaxy S) después de lanzar B si el usuario presiona el botón de inicio (es decir, la aplicación va al fondo) y luego vuelve a iniciar la aplicación, se muestra la actividad A de nuevo No es b). Pero si lo lanzan desde las aplicaciones 'recientes' (pulsación larga del botón Inicio) se llevan a la actividad B.

De lo que entiendo de los documentos de Android, a menos que la tarea se ha matado (no parece el caso aquí, ya que nada más está hecho, excepto volver a iniciar la actividad desde la pantalla de la aplicación) deberíamos ver la actividad B restaurado en el lanzamiento En la parte superior de la pila). Así que simplemente no puedo imaginar qué diablos está mal aquí.

Los cambios de orientación BTW durante el uso de la aplicación funcionan bien (todo se guarda y se restablece bien). Este extraño problema me ha estado molestando desde hace algún tiempo y por ensayo y error descubrí que cuando inhabilité la orientación para esa actividad y luego probar el relanzamiento conseguí que B se mostrara como se esperaba.

¿Así que nadie más ha enfrentado algo así y si es así cómo se puede resolver esto?

Estoy buscando en guardar la actividad en ejecución en SharedPreferences (como se menciona en este post ) y que la restauración de que en la actividad A, sin embargo me gustaría saber si me falta algo aquí. ¿No debería tener B restablecido en relanzar el comportamiento predeterminado?

Intente agregar esto a su actividad dentro del archivo de manifiesto:

 android:launchMode="singleTask" 

Esto resolvió el problema en mi aplicación …. si entiendo su problema correctamente.

Usa android: launchMode = "singleInstance" en su lugar

En su AndroidManifest, en la etiqueta de actividad, simplemente añada

 android:alwaysRetainTaskState="true" 
  • Problema al registrarse para C2DM en Android
  • Cómo mostrar el recuento de notificaciones en el icono de mi aplicación en la pantalla principal de Android
  • Configuración de Android en meta-datos o en el archivo de propiedades?
  • No se puede encontrar el receptor definido Definido ~ 1% del tiempo
  • Cambiar el identificador del paquete del juego libGDX
  • Los permisos de manifiesto cambian al implementar la nueva versión de la aplicación
  • Diferentes resultados en Android 4.1
  • La compilación de Android no puede obtener todos los "VERSION_CODES" disponibles
  • Android: "El servidor no pudo procesar tu apk. Intentar de nuevo .. "error al cargar en el mercado
  • Leer ApplicationManifest de Aplicación de Android (apk) usando .NET
  • ¿Cómo se especifica en AndroidManifest.xml que desea prohibir la instalación en dispositivos más pequeños que un dispositivo de 4,7 pulgadas?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.