2016-01-24 2 views
0

Как создать таймер обратного отсчета, который останавливается и «ждет», когда экран выключен, возобновляется при включении.Как создать таймер обратного отсчета, который останавливается и «ждет», когда экран выключен, возобновляется при включении. Android

Как указано в заголовке, как запрограммировать базовый таймер обратного отсчета в Android Studio, который останавливается, когда пользователь закрывает телефон (экран выключен) и перезапускается, когда экран снова включается. По-прежнему полный noob в этом, и мне просто нужен базовый код, который работает и делает это.

Благодаря

У меня уже есть базовый интерфейс ...

ответ

0

Используйте Handler с Runnable, который вызывается каждый второй.

Handler handler = new Handler(); 
int countdown = 300; // set countdown value in seconds 
Runnable countdownRunnable = new Runnable() { 
    @Override 
    public void run() { 
     countdown--; 

     if(countdown == 0) { 
      // countdown finished 
     } else { 
      handler.postDelayed(this, 1000); 
     } 
    } 
} 

Сначала начните обратный отсчет с handler.post(countdownRunnable). В Activity/Fragment onStop() удалите из обработчика runnable с handler.removeCallbacks(countdownRunnable); и добавьте его снова в onStart() с handler.post(countdownRunnable).

Кроме того, не забудьте сохранить и восстановить состояние (текущее значение обратного отсчета).

+0

Спасибо !!! Я попробую это, когда у меня будет время –

0

Как Начо L. Ответил на Stackoverflow Для экрана на выключенном состоянии, вы можете попробовать с ACTION_SCREEN_ON и ACTION_SCREEN_OFF намерениях, как показано в этом блоге: [http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/2

+0

Спасибо! Просмотрите это, когда у меня будет время –