Каков наилучший подход к отображению диалогового окна с предупреждением каждые 5 минут после просмотра представления / действия / фрагмента? - PullRequest
0 голосов
/ 03 мая 2019

Я планирую внедрить таймер в моем приложении так, чтобы он был только у определенных действий, скажем, у меня есть 2 действия, 1 фрагмент с этим.Когда я перехожу к занятию 1, запускается таймер, и если через 5 минут я все еще нахожусь в том же виде, он должен отобразить диалоговое окно с предупреждением о необходимости обновить вид.после нажатия кнопки «ОК» он обновится и снова запустит таймер (снова начнет отсчет), после нажатия кнопки «Отмена» он не обновит страницу, но перезапустит таймер.

Этого не должно быть, если моя активность или фрагментне в поле зрения.Скажем, если я нахожусь в Занятии 1, а таймер на 2 минуты, и я перехожу к Занятию 2, таймер переходит на 0 и не учитывается в фоновом режиме, пока представление снова не станет видимым.

Любые идеио том, что лучший подход к этому?Любые примеры помогут

Заранее спасибо!

1 Ответ

0 голосов
/ 03 мая 2019

Создать класс с методами таймера, такими как timerStart, timerStop.Используйте Java таймер Таймер в классе.Запланируйте timerTask (с требуемым временем) для метода timerStart, в котором вы через некоторое время отобразите диалоговое окно и отмените таймер для метода timerStop.

Timer timer;

public void timerStart()
{
timer = new Timer();
timer.schedule(new timerTask()
{

@Override
public void run() {

{Show your dialog}

}


},delay);
}

public void timerStop()
{
  timer.cancel();
}

Создайте экземпляр класса в вашей первой операции и вызовите timerStart в onCreateметод действия.

Вызовите timerStop и timerStart, когда пользователь нажимает кнопку отмены в вашем диалоговом окне.

Обновите страницу, нажав кнопку ОК, и снова вызовите timerStop и timerStart.

В методе onPause вашей первой активности вызовите timerStop.Это отменяет таймер при переходе к какому-либо другому занятию.

...