Я пишу код для отображения уведомлений пользователю в определенное время (так же, как приложение Google Calendar).
Я, следовательно, создал:
- a
BroadcastReceiver
, чтопрослушивает BOOT_COMPLETED
, при получении он устанавливает сигнал тревоги за одну минуту, чтобы не перегружать устройство, когда оно все еще загружает данные; - a
BroadcastReceiver
, который прослушивает сигналы тревоги: первый устанавливается через минуту послеBOOT_COMPLETED
и следующее на следующей встрече (как в Календаре Google)
Так, обычно:
BOOT_COMPLETED
=> запуск тревоги с одной минутойзадержка - Одна минута спустя => Приемник устанавливает другую тревогу для следующей встречи
- Через несколько минут / часов / дней тревога гаснет => Приемник отображает уведомление в строке состояния
Это означает, что уведомления в строке состояния запускаются из BroadcastReceiver
.
Я прочитал в документе, что они должны запускаться из операций или служб: https://developer.android.com/guide/topics/ui/notifiers/notifications.html#Basics
Я прошу о лучшей практикеВот.Должен ли я создать Service
, который будет запущен BroadcastReceiver
, и какой единственной целью будет запуск уведомления в строке состояния?Мой код работает, я просто хочу создать чистый код, предложенный Google.