Фоновая служба не работает в версии Android PIE должным образом - PullRequest
0 голосов
/ 05 февраля 2019

До Oreo работало нормально, но после того, как API 28 PIE VERSION выпустила, фоновая служба не работает должным образом, точный поток после запуска службы без ее остановки вручную, служба автоматически останавливается, когда приложение закрывается,Может кто-нибудь сказать мне, как это сделать.

  public void stopLocationService() {
    Log.d(TAG, "stopLocationService: ");
    Intent i = new Intent(getApplicationContext(), LocationService.class);
    stopService(i);
}

public void startLocationService() {
    Log.d(TAG, "startLocationService: ");
    Intent intent = new Intent(getApplicationContext(), LocationService.class);
    startService(intent);
}

1 Ответ

0 голосов
/ 05 февраля 2019

Многие производители устройств Android используют агрессивные политики для экономии заряда батареи.Когда пользователь очищает свое приложение от последних вкладок, приложение принудительно закрывается, что отменяет все тревоги, широковещательные приемники, службы и т. Д. .Это происходит в большинстве производителей устройств, таких как OnePlus, Huwaei, Xiaomi, Vivo, Oppo и т. Д.

У них есть AutoStartManagers / AutoLaunchManager, которые предотвращают фоновый запуск приложений.Вы должны будете внести в белый список свое приложение, используя шаги, упомянутые в ЭТОТ ТАК ОТВЕТ.

Также посетите https://dontkillmyapp.com/, чтобы узнать об убийцах задач на другом устройствепроизводителей.

...