Outra alternativa seria mostrar um Toast
/ Snackbar
na primeira imprensa pressionandoAlertDialog
a tecla Sair , o que é muito menos intrusivo do que mostrar uma para confirmar se o usuário deseja sair do aplicativo.
Você pode usar o DoubleBackPress Android Library
para conseguir isso com algumas linhas de código. Exemplo de GIF mostrando comportamento semelhante.
Para começar, adicione a dependência ao seu aplicativo:
dependencies {
implementation 'com.github.kaushikthedeveloper:double-back-press:0.0.1'
}
Em seguida, em sua atividade, implemente o comportamento necessário.
// 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);
Por fim, defina isso como o comportamento na contrapressão.
@Override
public void onBackPressed() {
doubleBackPress.onBackPressed();
}