Отображение уведомления строки состояния от BroadcastReceiver

Я пишу код для отображения уведомлений пользователю в определенное время (подобно приложению Google Calendar).

Поэтому я создал :

  • a BroadcastReceiver, который слушает BOOT_COMPLETED, при получении он устанавливает сигнал через одну минуту, чтобы не перегружать устройство, когда оно еще загружает материал;
  • a BroadcastReceiver, который слушает сигналы: первый через минуту после BOOT_COMPLETED, а следующий при следующей встрече (как в Google Calendar)

Итак, обычно:

  1. BOOT_COMPLETED => запуск будильника с задержкой в одну минуту
  2. Через минуту => Приемник устанавливает другой будильник для следующей встречи
  3. Через несколько минут/часов/дней будильник срабатывает => Приемник отображает уведомление в строке состояния

Что означает, что уведомления в строке состояния запускаются с BroadcastReceiver.

Я прочитал в документации, что они должны запускаться из Activities или Services : https://developer.android.com/guide/topics/ui/notifiers/notifications.html#Basics

Я спрашиваю о лучшей практике. Должен ли я создать Сервис, который будет запускаться BroadcastReceiver, и единственной целью которого будет запуск уведомления строки состояния? Мой код работает, я просто хочу создать чистый код, как предлагает Google.

7
задан Vadim Kotov 21 July 2017 в 10:35
поделиться