Разъяснить как работает метод по выходу из приложения
Не хочется просто реализовать лишь бы реализовать, хочу разобраться.
private static long back_pressed;
@Override
public void onBackPressed() {
if (back_pressed + 2000 > System.currentTimeMillis()) {
super.onBackPressed();
} else {
Toast.makeText(getBaseContext(), "Press once again to exit!", Toast.LENGTH_SHORT).show();
}
back_pressed = System.currentTimeMillis();
}
Ответы (1 шт):
Автор решения: Alex_Skvortsov
→ Ссылка
По шагам:
@Override
public void onBackPressed()
Будет вызван системой, когда пользователь нажмёт назад.
if (back_pressed + 2000 > System.currentTimeMillis()) {
Здесь back_pressed - сохраненное время предыдущего нажатия кнопки назад (в миллисекундах). System.currentTimeMillis() - метод получения текущего времени в миллисекундах.
if (back_pressed + 2000 > System.currentTimeMillis()) {
super.onBackPressed();
}
То есть это означает "если с предыдущего нажатия кнопки назад прошло меньше 2-ух секунд, тогда выйти".
else {
Toast.makeText(getBaseContext(), "Press once again to exit!", Toast.LENGTH_SHORT).show();
}
Если прошло больше 2-ух секунд с предыдущего нажатия, то напоминаем пользователю, что для выхода нужно нажать дважды.
back_pressed = System.currentTimeMillis();
Ну и обновляем время последнего нажатия.