Задать вопрос
fursa08
@fursa08
Junior Android developer

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

Пишу приложение работающее со SpaceX Api. С сервера получаю Json. В нем есть параметр launch_date_unix. Вот что о нем написано в доках
launch_date_unix - UTC launch date/time as a UNIX timestamp in seconds

Как бы вы реализовали уведомление о запуске? Мне в голову приходит такая схема.

1. При включении телефона я запускаю BroadcastReceiver который реагирует на BOOT_COMPLETED экшн.
2. В методе onReceive я делаю http запрос к апи. (В апи есть запрос вида /launches/next возвращающий инфу о следующем запуске)
3. Беру launch_date_unix проверяю ее. Если запуск планируется сегодня то устанавливаю WorkManager c setInitialDelay(launch_date_unix, TimeUnit.SECONDS). Из документации прочитала что WorkManager будет запускаться даже после перезагрузки устройства.

С точки зрения опытного разработчика, это хороший подход или что - то можно сделать иначе? PS AlarmManager не вижу смысла использовать. Интересно послушать как бы вы это реализовали
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Shikato
Android
По хорошему веб приложение поднять которое бы узнавало дату запуска раз в час (чаще/реже) и, в случае успеха, отправляло бы через облачный сервер уведомление об этом в приложуху, также я бы реализовал поле которое бы после открытие приложения выдавала бы информацию по этому запросу к апи (чтобы наверняка не проспать запуск)).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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