Ответ
В Android Service имеет два основных ограничения по времени:
-
Foreground Service - должен показать уведомление в течение 5 секунд после старта (
startForeground()), иначе система убьёт процесс. -
Background Service (начиная с Android 8+):
- Через несколько минут неактивности система может остановить сервис
- На Android 9+ есть ограничение на фоновые операции (10 минут после выхода из фона)
Пример foreground сервиса:
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
val notification = createNotification()
startForeground(NOTIFICATION_ID, notification)
return START_STICKY
}
Для долгих операций лучше использовать WorkManager или Foreground Service с персистентным уведомлением.