Інша альтернатива була б показати Toast
/ Snackbar
на першу задню пресу з проханням преси знову на вихід , який є набагато менш нав'язливим , ніж , що показує , AlertDialog
щоб підтвердити , якщо користувач хоче , щоб вийти з програми.
Для цього можна скористатися DoubleBackPress Android Library
кількома рядками коду. Приклад GIF, що показує подібну поведінку.
Для початку додайте залежність до своєї програми:
dependencies {
implementation 'com.github.kaushikthedeveloper:double-back-press:0.0.1'
}
Далі, у своїй діяльності, реалізуйте необхідну поведінку.
// 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);
Нарешті, встановіть це як поведінку на зворотному пресі.
@Override
public void onBackPressed() {
doubleBackPress.onBackPressed();
}