https://developer.android.com/reference/android/content/Context.html#startForegroundService(android.content.Intent)
Podobne do StartService (Intent), ale z im niejawna obietnica, że usługa wywoła funkcję startForeground (int, android.app.Notification) po uruchomieniu . Usługa ma czas porównywalny do przedziału ANR, aby to zrobić, w przeciwnym razie system automatycznie zatrzyma usługę i zadeklaruje ANR aplikacji.
W odróżnieniu od zwykłej metody startService (Intent), ta metoda może być używana w dowolnym momencie pod numerem , niezależnie od tego, czy aplikacja obsługująca usługę znajduje się na pierwszym planie w stanie .
upewnij się wywołać Service.startForeground(int, android.app.Notification)
na onCreate(), dzięki czemu zapewniają to będzie called..if masz jakiś warunek, który może uniemożliwić to robić, to lepiej wyłączyć za pomocą normalnego Context.startService(Intent)
i zadzwoń pod numer Service.startForeground(int, android.app.Notification)
.
Wygląda na to, że Context.startForegroundService()
dodaje watchdog, aby upewnić się, że zadzwoniłeś na Service.startForeground(int, android.app.Notification)
, zanim został zniszczony ...
proszę umieszczać odpowiednią część kodu i twój dziennik błędów tutaj. – Opiatefuchs
IOW, proszę podać [mcve]. Obejmuje to cały ślad stosu Java i kod powodujący awarię. – CommonsWare