Другой альтернативой может быть показ 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();
}