Код: Выделить всё
context.startForegroundService(Intent(context, MyForegroundService::class.java))
Код: Выделить всё
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
// do work...
startForeground(ID, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_LOCATION)
return START_STICKY
}
< /code>
После того, как система убивает услугу (например, низкие ресурсы), она попытается воссоздать его позже «с фона». Здесь мы возникаем проблема для устройств Anroid 12+:
[*] Если я позвоню в StartforeForeground () Если я не называю Startforeforge () , он дает мне исключение, чтобы не начинать сервис на передней части 10 -й секунды , он дает мне исключение для того, чтобы не начинать сервис на передней части 10 -й секунды . /> < /ul>
Проще говоря, сервис будет разбиться, независимо от того, что вы делаете. Кажется, это недостаток дизайна Android. Кажется, единственный обходной путь - это использовать start_not_sticky и запланировать Workmanager на Ondestory () для выполнения меньшей части работы. Я думаю об этом правильно?
Подробнее здесь: https://stackoverflow.com/questions/795 ... nd-service
Мобильная версия