Страница 1 из 1

Выход из приложения - два раза на "назад"

Добавлено: 25 апр 2013, 11:12
Foenix
Расскажите, пожалуйста, как реализован выход из приложения, сто раз видела, когда при выходе нажимаешь "назад" а оно пишет - нажмите еще раз для выхода. Не тост интересует, естественно, а таймер там или что плюс какое событие. Голова не варит, другим забита.

Re: Выход из приложения - два раза на "назад"

Добавлено: 25 апр 2013, 13:09
KamiSempai
Как-то так:

[syntax=java]
private static final long TIME_INTERVAL_TO_EXIT = 1000;
private long mLastTimeBackPresed;

@Override
public boolean onKeyDown(final int pKeyCode, final KeyEvent pEvent) {
if(<условие проверяющее Activity на готовность к закрытию по двойному нажатию>
&& pKeyCode == KeyEvent.KEYCODE_BACK
&& pEvent.getAction() == KeyEvent.ACTION_DOWN) {
if(System.currentTimeMillis() - mLastTimeBackPresed < TIME_INTERVAL_TO_EXIT) {
// Закрываем приложение
}
else {
mLastTimeBackPresed = System.currentTimeMillis();
// И еще показываем тост
}
return true;
} else {
return super.onKeyDown(pKeyCode, pEvent);
}
}[/syntax]

Re: Выход из приложения - два раза на "назад"

Добавлено: 25 апр 2013, 14:02
Foenix
Спасибо большое.
А
<условие проверяющее Activity на готовность к закрытию по двойному нажатию>
задумалась, что это могут быть за условия такие? у меня вроде выходишь и выходи на здоровье.. что-то сохранять вроде не надо.. оно ж на самом деле не выходит из приложения-то, так, скрывается с экрана..

просто юзеры попросили - говорят не замечаешь как выходишь из приложения. Но у меня и вправду - почти все активити как близнецы -братья, первое очень похоже на второе и третье..

Re: Выход из приложения - два раза на "назад"

Добавлено: 25 апр 2013, 14:17
KamiSempai
Olivka писал(а):Спасибо большое.
А
<условие проверяющее Activity на готовность к закрытию по двойному нажатию>
задумалась, что это могут быть за условия такие? у меня вроде выходишь и выходи на здоровье.. что-то сохранять вроде не надо.. оно ж на самом деле не выходит из приложения-то, так, скрывается с экрана..

просто юзеры попросили - говорят не замечаешь как выходишь из приложения. Но у меня и вправду - почти все активити как близнецы -братья, первое очень похоже на второе и третье..
Например, в любом браузере обычно все происходит в одной Activity а кнопка назад - это переход на предыдущую страницу и закрывать окно стоит только после того как все вкладки закрыты и мы находимся на начальной странице. Если у тебя обычный стек окон, это условие можно отбросить.

Re: Выход из приложения - два раза на "назад"

Добавлено: 11 май 2013, 17:32
behzodbek
Foenix писал(а):Расскажите, пожалуйста, как реализован выход из приложения, сто раз видела, когда при выходе нажимаешь "назад" а оно пишет - нажмите еще раз для выхода. Не тост интересует, естественно, а таймер там или что плюс какое событие. Голова не варит, другим забита.
Не давно реализовал
@Override
public void onBackPressed() {

// hide menu if it's shown
if (sideNavigationView.isShown()) {
sideNavigationView.hideMenu();
} else if (this.getClass().getName()
.equals(MainActivity.class.getCanonicalName())) {
newDelay = SystemClock.currentThreadTimeMillis();
if (newDelay - oldDelay <= 20) {
finish();
} else {
Toast.makeText(this, "For exit press Back button again",
Toast.LENGTH_SHORT).show();
oldDelay = newDelay;
}
} else
super.onBackPressed();
}