2017-11-21 1 views
0

Ich habe Hintergrund lang laufenden Task-Service, Von der Entwickler-Website fand ich ein Wort wie "Wenn Ihre App API-Ebene 26 oder höher zielt, auferlegt das System Einschränkungen zum Ausführen von Hintergrunddiensten, wenn die App selbst nicht im Vordergrund ist In solchen Fällen sollte Ihre App stattdessen einen geplanten Job verwenden. " https://developer.android.com/topic/performance/scheduling.html Wie wird der Service durch eine Planungsaufgabe ersetzt? wird dies kontinuierlich im Hintergrund arbeiten?Was ist die Lösung für einen langen Hintergrund Service Task mit API-Level 26 und höher?

+1

* dies funktioniert im Hintergrund kontinuierlich? * - nein. einfach gesagt, sie wollen nicht, dass Sie lang laufende Hintergrunddienste haben –

+0

bitte verweisen Sie diesen Link https://stackoverflow.com/questions/47090007/service-automatics-stops-after-several-minutes –

+0

"Ich habe den Hintergrund lange laufen Aufgabenservice "- warum? Was genau macht es? Die einzige Möglichkeit, einen Dienst mit langer Laufzeit zu haben, besteht darin, dass er ein Vordergrunddienst ist (z. B. "startForeground()"). – CommonsWare

Antwort

0

Die bevorzugte Methode ist die Verwendung von Android Job Scheduler oder Firebase Job Dispatcher. Sie können die Aufgabe jedoch nicht lange ausführen, aber Sie können Ihre Aufgabe nach bestimmten Zeitintervallen für eine kurze Zeit ausführen.

+0

Wenn ich eine Push-Benachrichtigung vom Server bekomme, muss ich einen Dienst starten, um api aufzurufen, um in der Nähe von Veranstaltungsorten zu landen und Geofence im Hintergrund zu registrieren. –

+0

Sie können den Job Scheduler benachrichtigen, um eine bestimmte Aufgabe auszuführen, wenn eine Benachrichtigung empfangen wird. –

Verwandte Themen