Вот история: Я создал приложение, которое запускается во время загрузки и выполняет определенные действия с заданным интервалом.Чтобы добиться этого, я создаю сервис, который использует AlarmManager
для создания повторяющегося события, которое затем обрабатывается BroadcastReceiver
, который выполняет тяжелую работу.Когда служба уничтожена (пользователь выбирает выход из приложения), событие должно быть отменено, поэтому служба должна сохранять ссылку на тот же PendingIntent
, который использовался для ее запуска.
проблема: Служба должна вызвать startForeground
, чтобы убедиться, что она не умирает, поэтому она может поддерживать ссылку на PendingIntent
.Уведомление постоянно появляется в строке состояния, и пользователи находят его раздражающим (если честно, я тоже).
Что дальше? В идеале я ищу решение, которое сохранитзначок в строке состояния, но не будет отображаться в раскрывающемся списке.Таким образом, пользователь будет знать, что он работает, и не будет раздражен тратой пространства.
Несколько догадок: Может быть, возможно восстановить ссылку в службе, когда она будет воссоздана?Если так, то как?Таким образом, я мог бы избежать использования startForeground
.Но все же, как получить значок в строке состояния?
Или, может быть, у кого-то есть лучшее решение?