Otra alternativa sería mostrar un Toast
/ Snackbar
en la primera pulsación hacia atrás pidiendo presionar nuevamente para salir , lo cual es mucho menos intrusivo que mostrar una AlertDialog
para confirmar si el usuario desea salir de la aplicación.
Puede usar el DoubleBackPress Android Library
para lograr esto con unas pocas líneas de código. Ejemplo de GIF que muestra un comportamiento similar.
Para comenzar, agregue la dependencia a su aplicación:
dependencies {
implementation 'com.github.kaushikthedeveloper:double-back-press:0.0.1'
}
Luego, en su Actividad, implemente el comportamiento requerido.
// set the Toast to be shown on FirstBackPress (ToastDisplay - builtin template)
// can be replaced by custom action (new FirstBackPressAction{...})
FirstBackPressAction firstBackPressAction = new ToastDisplay().standard(this);
// set the Action on DoubleBackPress
DoubleBackPressAction doubleBackPressAction = new DoubleBackPressAction() {
@Override
public void actionCall() {
// TODO : Exit the application
finish();
System.exit(0);
}
};
// setup DoubleBackPress behaviour : close the current Activity
DoubleBackPress doubleBackPress = new DoubleBackPress()
.withDoublePressDuration(3000) // msec - wait for second back press
.withFirstBackPressAction(firstBackPressAction)
.withDoubleBackPressAction(doubleBackPressAction);
Finalmente, establezca esto como el comportamiento en presionar hacia atrás.
@Override
public void onBackPressed() {
doubleBackPress.onBackPressed();
}