Android: Regresa a la actividad anterior sin llamar a finish ()

Tengo una aplicación de Android con un montón de actividades, pensar en algo así como un libro donde cada página es una nueva actividad. El usuario puede hacer cambios en cada actividad, por ejemplo resaltar ciertos textos con diferentes marcadores de colores, etc. y es crucial que recuerde esta información siempre y cuando la aplicación permanezca viva (y no quiero / necesito recordar ninguna de Esto cuando no lo es). Como entiendo el mejor mecanismo para almacenar este tipo de información es a través de onSaveInstanceState(Bundle outState) y onCreate(Bundle) / onRestoreInstanceState(Bundle) lugar de decir, el mecanismo de Preferencias. Mi único problema es que el usuario puede navegar hacia atrás a páginas anteriores (Actividades) y la única manera que sé de lograr esto es llamando a finish() que por supuesto mata la actividad actual sin llamar a onSaveInstanceState(Bundle outState) e incluso si lo hizo Llámelo, la próxima vez que lanzaría una actividad que representaría esa página sería una instancia totalmente nueva. Así que mi pregunta es: ¿Hay una manera de volver a la actividad anterior sin llamar a finish() ? O, ¿hay una mejor manera de guardar esta información? Tal vez a través de variables estáticas?

¡Gracias!

PS Sé que también podría implementar mi aplicación de manera diferente para que no todas las páginas tendría su propia actividad, pero esta no es la respuesta que estoy buscando.

Intente utilizar startActivity () con indicadores como Intent.FLAG_ACTIVITY_CLEAR_TOP. Usted puede leer la historia completa aquí: http://developer.android.com/reference/android/content/Intent.html#setFlags(int )

Tenía exactamente el mismo problema y después de que pensé y probé mucho, IMHO encontré la solución más factible. He heredado la actividad y agrega un método estático para matar si existe sólo. Por lo tanto, en lugar de matar la actividad cada vez que sale. Lo mato cada vez que se llama de nuevo. Por ejemplo,

 MyActivity.killIfExists(); startActivity(new Intent(this, MyActivity.class)); 

Por lo tanto, la aplicación siempre será singleton y guardar su estado con onSaveInstanceState.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.