Вы должны использовать ForegroundService
вместо Service
и вызывать startForegroundService()
, когда хотите его запустить.
Далее в этом новом ForegroundService
вызове метода onCreate startForeground()
. С startForeground
вы должны передать notification
, чтобы сообщить пользователю, что услуга running
.
Еще одна проблема заключается в том, что многие устройства используют разные приемы для защиты аккумулятора и пытаются убить работающие службы.
Для отслеживания местоположения в течение длительного времени Вы должны попытаться получить разрешение пользователей на отключение оптимизации батареи.