Mensaje de Pulse otra vez para salir en Android

Si la aplicación que se está desarrollando tiene bastantes transiciones entre actividades o se utiliza un número elevado de veces el botón volver del teléfono móvil o la tableta, es probable que sea recomendable poner un control para obligar al usuario a que pulse dos veces seguidas en el botón volver para salir de la aplicación. De esta manera se puede evitar que el usuario abandone la aplicación Android sin querer.

Lo que hace este control es mostrar el mensaje Pulse otra vez para salir en un Toast, para que el usuario sólo vuelva a pulsar si desea salir de la aplicación. En caso de no pulsarlo en un periodo corto de tiempo, si vuelve a pulsar volverá a salir en el mensaje. El código para obtener este comportamiento es el siguiente, el cual debe aplicarse sobre la actividad donde se desee utilizar.

private static long back_pressed;

@Override
public void onBackPressed()
{
    if (back_pressed + 2000 > System.currentTimeMillis()) 
        super.onBackPressed();
    else 
        Toast.makeText(getBaseContext(), "Pulse otra vez para salir", Toast.LENGTH_SHORT).show();
    back_pressed = System.currentTimeMillis();
}

Como se ve, se crea una variable estática llamada back_pressed que sirve para guardar en qué momento se ha pulsado el botón atrás, para luego compararlo con el momento que se ha pulsado por segunda vez. Si la diferencia es menor a dos segundos (2000 milisegundos), entonces ejecutará el comportamiento normal del botón atrás en Android, que suele ser cerrar la actividad que se está mostrando. En caso de que haya transcurrido más de dos segundos, muestra el mensaje y se guarda el momento actual en el que se ha pulsado, mediante la función System.currentTimeMillis().

Hay que tener el cuenta que el usuario podría abandonar la aplicación sin pulsar el botón atrás, como podría ser pulsando el botón Home.

Deja un comentario

Esta web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está aceptando éstas y nuestra política de las mismas.

ACEPTAR
Aviso de cookies