Отправить намерение через интервал

Я хотел бы передать намерение IntentService через заданный интервал, указанный пользователем.

Я рассматриваю возможность использования AlarmManager, но мне не нужно, чтобы намерение было запущено, если приложение не запущено. И согласно тому, что я прочитал, AlarmManager разбудит приложение.

Другой вариант - запустить метод с таймером. Можно ли расширить класс Application и иметь таймер, который отправляет намерение в IntentService, или это неподходящее решение.

Благодарен за совет :)


person johan    schedule 25.10.2011    source источник


Ответы (1)


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

Также взгляните на PendingIntents, они предоставляют простой механизм для получения необходимых данных от службы.

person railwayparade    schedule 25.10.2011
comment
Но пользователь будет часто переключаться между действиями. Как я могу узнать, через какое время служба должна быть уволена? Интервал может быть 30 секунд - person johan; 26.10.2011