Начало нового занятия через 2 часа - PullRequest
1 голос
/ 03 апреля 2012

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

Таймер, который я использую, - это хронометр, и вот код, который у меня есть для него:

Chronometer.OnChronometerTickListener mChronoListener = new OnChronometerTickListener() { // listens to journey timer to initiate time based events
    int alertTime = 10000;
    int breakTime = 20000;

    public void onChronometerTick(Chronometer arg0) {

        long elapsedTime = SystemClock.elapsedRealtime() - arg0.getBase();

        if (elapsedTime > alertTime)
        {
            Toast.makeText(SafeDrive3Activity.this, "HOUR PASSED", Toast.LENGTH_LONG).show();
            alertTime += alertTime == 10000 ? 10000 : 10000;
        }
        if (elapsedTime > breakTime)
        {   
            //call activity2?
        }

    }
};  

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

Я не уверен, какой код вставить в оператор if выше, чтобы вызвать новое действие, или это правильный способ сделать это.

В связи с новым действием мне нужно также создать новый файл mail.xml?

Любая помощь с этим будет принята с благодарностью!

Ответы [ 2 ]

2 голосов
/ 03 апреля 2012
if (elapsedTime > breakTime)
{   
     //call activity2?
    startActivity(new Intent(getApplicationContext(),NextActivityToLoad.class));
}

Используйте эту попытку ...

1 голос
/ 03 апреля 2012

Если у вас есть контекст, вы просто делаете context.startActivity (намерение);

Убедитесь, что в используемом вами намерении установлен флаг START_TASK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...