Отменить таймер в onResume()?

Можно ли отменить таймер обратного отсчета в методе onResume()?

Например: при нажатии кнопки «Назад» вызывается метод onResume(). Я хочу отменить таймер, когда он находится в процессе входа в систему, в случае любого другого действия я хочу, чтобы таймер продолжал работать.

Я думал написать условие if() в действии onResume() и отменить таймер, но таймер не останавливается.

Мой подход может быть неправильным, поэтому, пожалуйста, направьте меня.

void onResume(){
    super.onResume();
    if(currentActivity.equals("LoginActivity")){
        timer.cancel;
    }
}

person user1420943    schedule 11.07.2012    source источник
comment
Взгляните на этот вопрос. Это не совсем то же самое, но похоже.   -  person thegrinner    schedule 11.07.2012


Ответы (2)


Вы можете остановить таймер обратного отсчета всякий раз, когда нажимается кнопка «Назад» во время входа в систему. Для этого используйте следующий код при входе в систему.

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            //stop the timer
        }
        return super.onKeyDown(keyCode, event);
    }
person Antrromet    schedule 11.07.2012
comment
общественное логическое значение onKeyDown (int keyCode, событие KeyEvent) { Log.v (TAG, keydown); если (keyCode == KeyEvent.KEYCODE_BACK) { timer.cancel(); } вернуть super.onKeyDown(keyCode, событие); } не работает :(.. я ошибаюсь где-то - person user1420943; 11.07.2012

Если вы используете TimerTask, отмените TimerTask.

mTimerTask.cancel();

иначе отменить таймер.

mTimer.cancel();
mTimer.purge(); 

Я думаю, что этот код может помочь вам.

person Mehul Santoki    schedule 11.07.2012
comment
извините, но я должен использовать только таймер обратного отсчета :( согласно требованию - person user1420943; 12.07.2012