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.
- Fragment Compatability onActivityResult () No funciona
- Android: comprobando si la actividad se declara en Manifest en tiempo de ejecución
- Reanude la actividad principal en lugar de iniciar la actividad del lanzador
- Android GPS activado o desactivado
- Android: automáticamente elige debug / release Maps v2 api key?
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?
- Por qué usar android: configChanges es una mala práctica
- Android permiso de creación de base de datos
- Cómo combinar dos temas en android
- Icono de aplicación que falta en Android
- No se puede convertir la cadena '@ bool / some_key' a la clase de destino 'boolean'
- Android ejecuta una tarea periódicamente
- ¿Cuántas etiquetas de esquema y host pueden estar bajo el intento de filtro en android manifiesto?
- ¿Hay alguna manera de especificar el requisito de arquitectura del procesador en el manifiesto de Android?
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"
- No se puede ejecutar el programa "\ ndk-build.cmd": Error al iniciar
- Custom Switch – el tamaño de la pista y el selector no funcionan por debajo de 21 API