Pregunta

¿Cómo puedo matar a todas las actividades de mi solicitud?

He intentado utilizar this.finish() pero solo mata a una actividad.

De hecho, me gustaría cuando el usuario toca el botón de retroceso (en sólo una de las actividades), la aplicación para hacer lo mismo que si pulsa el botón de inicio.

¿Fue útil?

Solución

Se puede configurar android:noHistory="true" para todas sus actividades en AndroidManifest.xml. Por lo tanto, no van a colocarse en la pila historia y botón de retroceso le llevará a la pantalla de inicio.

Otros consejos

Esto se ha discutido muchas veces antes. Esencialmente no hay manera fácil, y no se supone que es. Los usuarios presionan Inicio para salir de la aplicación (como se ha señalado).

Reemplazar el método onBackPressed, y hacer lo que sucede cuando se pulse el botón de inicio. En realidad no es el cierre de todas las actividades, pero lo que está pidiendo es que la prensa de vuelta en una determinada actividad emula el botón de inicio.

@Override
public void onBackPressed() {
    Intent i = new Intent(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i);
}

La colocación de que en una actividad se irá a casa cuando se presiona hacia atrás. Tenga en cuenta que la implementación original del método onBackPressed incluye una llamada a super, se remueve a propósito. Sé que esta pregunta es muy antigua, pero que está pidiendo explícitamente otra cosa

Para matar a todas las actividades, utilizar estos códigos en onBackPressed.

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount()>0) {
       getFragmentManager().popBackStackImmediate();            
    } else {
          finishAffinity();
          System.exit(0);
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top