Ответ
Если не отображать уведомление для Foreground Service, система Android (начиная с API 26) принудительно завершит сервис через несколько секунд. Это требование безопасности, чтобы пользователь знал о фоновой работе приложения.
Исключения:
- Системные сервисы (требуют специальных разрешений)
- Скрытые уведомления (
setOngoing(true)+ низкийpriority), но всё равно обязаны быть
Пример создания обязательного уведомления:
val notification = NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle("Сервис работает")
.setSmallIcon(R.drawable.ic_notification)
.build()
startForeground(NOTIFICATION_ID, notification)
Минимальный приоритет (priority = Notification.PRIORITY_MIN) сделает уведомление менее заметным, но полностью убрать его нельзя.