Ich habe eine gestartete Service
implementiert, die im Hintergrund weiterlaufen soll (onStartCommand returns START_STICKY
). Auf einem 5.1-Gerät habe ich festgestellt, dass das Wischen des aktuellen Tasks von den letzten Tasks den Service
auslöst und nicht neu gestartet wird, was auf einem 4.2-Gerät nicht der Fall ist.Android-App einfrieren, wenn im Hintergrund
Die Workarounds, die auf SO vorgeschlagen wurden, um einen Alarm zum Neustarten der service
nach 1s zu setzen, funktionierten nicht.
Nach einigen Recherchen habe ich herausgefunden, dass unter den BATTERY
Einstellungen, haben wir Optionen, um festzulegen, ob Anwendungen im Hintergrund einfrieren oder nicht. Das Standardverhalten besteht darin, die Hintergrundausführung einzufrieren.
Gibt es eine bestimmte permissions
, die ich suchen muss, damit die App im Hintergrund weiterlaufen kann?
BEARBEITEN: Der Dienst wurde mit startForeground() implementiert. Es ist ein bekanntes Problem, dass nach dem 4.4 der Dienst beendet wird, wenn die App aus dem aktuellen Bildschirm geklaut wird. Während einige Vorschläge gepostet wurden, haben sie für mich nicht geklappt. Ich habe jedoch festgestellt, dass es diesen spezifischen Schalter gibt, der hilft. Ich bin mir nicht sicher, ob wir das programmatisch überwinden können und daher meine Anfrage nach irgendwelchen Zeigern. –