Android: AlarmManager и жизненный цикл активности - PullRequest
0 голосов
/ 16 февраля 2011

Я решил написать простой будильник (используя AlarmManager). Когда срабатывает будильник, я хочу показать простой диалог с двумя кнопками: OK и Snooze. Итак, у меня есть вопрос: что я должен связать с моим ожидающим намерением? Я имею в виду Сервис, Активность или BroadcastReceiver? В текущей версии я использую BroadcastReceiver, где я запускаю Activity, которая показывает диалог. Я начинаю это с флага FLAG_ACTIVITY_NEW_TASK. В методе onStrat () запускаю музыкальный сервис. Когда кнопка ОК нажата, я вызываю финиш () для активности и остановки музыки. В OnPause () я также вызываю finish (). Я делаю это потому, что если два аварийных сигнала запускаются одновременно, то в соответствии с жизненным циклом действия будет вызван метод onPause (). Это работает ... но иногда музыка начинается на несколько секунд, затем заканчивается ..., затем начинается снова, заканчивается и так далее. Зачем? Спасибо.

1 Ответ

1 голос
/ 16 февраля 2011

Итак, у меня вопрос: что я должен связать с моим ожидающим намерением?Я имею в виду Service, Activity или BroadcastReceiver?

Вероятно, активность в этом случае.Сделайте так, чтобы ваша деятельность выглядела так, как вы хотите (например, Theme.Dialog), а не суетилась с помощью обычного диалогового окна.

Это работает ... но иногда музыка запускается на несколько секунд, а затемзаканчивается .... потом начинается снова и заканчивается и так далее.Почему?

Невозможно ответить на этот вопрос предоставленной вами информацией, извините.

...