Я запускаю службу переднего плана с собственной стороны. Проблема в том, что после того, как пользователь закрывает приложение (или повторно открывает его), служба автоматически перезапускается, и уведомление переднего плана возвращается, даже если пользователь ранее отклонил его.
Ожидаемое поведение
- Служба переднего плана должна запускаться только при явном запуске.
- Если пользователь отклоняет/закрывает уведомление, оно не должно возвращаться, если я явно не запустил его.
- Если пользователь отклоняет/закрывает уведомление, оно не должно возвращаться, если я явно не запустил его. запустите службу еще раз.
- Закрытие/повторное открытие приложения Unity не должно неявно перезапускать службу.
Запустите приложение Unity.
- Приложение запускает собственную службу переднего плана.
- Пользователь отклоняет/закрывает уведомление.
- Пользователь закрывает или снова открывает приложение.
- Уведомление появляется снова автоматически.
- Повторяется при каждом цикле закрытия/открытия.
Из logcat каждый цикл выглядит так:
Код: Выделить всё
Service.onDestroy() when app closes
shortly after Service.onCreate() again
Вопрос
Что обычно приводит к повторному запуску службы переднего плана при закрытии/повторном открытии приложения (жизненный цикл UnityPlayer, воссоздание активности, приемник и т. д.)?
Что мне следует проверить/изменить, чтобы служба запускалась только по явному запросу и не перезапускалась автоматически?
/>Дополнительный контекст
- Служба рассчитана на длительную работу только в том случае, если она явно включена логикой приложения.
- Повторное появление уведомления создает плохой UX (похоже, приложение вызывает постоянные оповещения).
Подробнее здесь: https://stackoverflow.com/questions/798 ... -is-closed
Мобильная версия