Запуск службы не работает с «К сожалению, приложение остановлено». Нет исключения трассировки стека - PullRequest
0 голосов
/ 25 января 2020

minSdkVersion 19 compileSdkVersion 29 targetSdkVersion 29

Когда мое приложение пытается запустить службу, оно работает нормально с SdkVersion >= 24.

Но служба падает с «К сожалению, приложение имеет остановился «. если я попробую с SdkVersion < 24. OnCreate() услуги никогда не вызывается. Действие все еще выполняется, только всплывающее окно аварийно завершает работу службы.

Ничто в трассировке стека не показывает исключение.

Ответы [ 2 ]

0 голосов
/ 25 января 2020

Пожалуйста, добавьте сервис в AndroidManifest. xml и используйте код ниже.

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    super.onStartCommand(intent, flags, startId);
    return START_STICKY;
}
0 голосов
/ 25 января 2020

Проверьте ниже код:

Android может (и будет) останавливать Вашу Службу, когда захочет. Поскольку вы вернули START_STICKY из onStartCommand (), Android должен перезапустить службу после ее уничтожения. В этом случае вы получите нулевой Intent в onStartCommand () после перезапуска. Нет способа предотвратить убийство вашей службой Android, если она этого хочет.

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    super.onStartCommand(intent, flags, startId);
    return START_STICKY;
}
...