Как правильно создать сервис уведомлений на Andriod?

Есть приложение, которое должно посылать уведомления. Написано оно на Qt, но сама проблема, как мне кажется, зарыта в яве или в манифесте. В общем, воспользовавшись этим скриптом, мне удалось прикрутить уведомления, которые отсылаются из сервиса (класс QtService).

Очередь и проверку уведомлений я построил таким образом: при первом запуске Activity, в класс (QtService) отправляется список в какое время нужно вывести то или иное уведомление. В методе onCreate() этого класса запускается таймер (Timer), который срабатывает каждую минуту и вызывает метод timerTick() - в этом методе я сравниваю текущее системное время и проверяю какое уведомление из списка должно быть показано. (Нутром чувствую что сделал все не правильно :D)

Так вот, уведомления приходят исправно и в назначенное время, НО! Только если запущено само приложение, т.е. существует Activity и оно либо активно, либо свернуто и висит в задачах. Как только активити закрывается, уведомления прекращают приходить, хотя сама служба в списке запущенных приложений присутствует (Процессов: 1; служб: 1). ЧЯДНТ?
Почему так? Ведь служба запущена. Что происходит когда закрывается приложение? Уничтожаются таймеры? Или из таймеров нельзя вызывать методы NotificationManager'a?
  • Вопрос задан
  • 2301 просмотр
Пригласить эксперта
Ответы на вопрос 1
@kapitalistka
таймер создается в onCreate, соответственно, существует только при жизни активити, вам нужен AlarmService
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы