Мой вопрос относится к API LEVEL 24 - Android 7.0 Nougat.
Я пытаюсь найти наиболее подходящий и надежный способ запустить липкий сервис переднего плана.
Подводить итоги:
- Сервис должен быть запущен из действия после нажатия кнопки
- Будет создано (липкое - это будет обрабатываться флагами уведомления)
На уровне API 26 мы можем вызвать startForegroundService(service, notification)
, и служба автоматически сопоставляется с уведомлением.
Однако на уровне API 24 служба запускается с startService(service)
, и уведомление отображается путем вызова метода NotificationManagerCompat notify
.
Как мы можем сообщить ОС, что уведомление относится к сервису, поэтому сервис считается приоритетным, и ОС никогда не убьет сама.
Примечание: причина, по которой я хочу, чтобы эта реализация была ориентирована на будущее. Эта служба нуждается в обновлении местоположения и, начиная с API уровня 26, только приоритетные службы (с прикрепленным уведомлением) могут получать обновления в режиме реального времени (https://developer.android.com/about/versions/oreo/background-location-limits).