6 Stimmen

Das Beenden der Android-Anwendung im Task-Manager beendet die von der App gestarteten Dienste.

Meine Anwendung hat eine Aktivität, die zwei Dienste startet, aber nicht mit ihnen verbindet. Wenn ich die Zurück-Taste drücke, um die Anwendung zu beenden (ich kann sie nicht im Task-Manager sehen), laufen beide vom Anwendung gestartete Dienste weiter. Wenn ich jedoch zum Task-Manager gehe und die Anwendung beende, werden beide Dienste gestoppt. Ich bin mir nicht sicher, ob dies beabsichtigtes Verhalten ist, aber ich möchte, dass die Dienste auch nach dem Beenden der Anwendung weiterhin ausgeführt werden. Irgendwelche Gedanken bitte.

Danke

9voto

FoamyGuy Punkte 46127

Dies ist das beabsichtigte Verhalten von Task-Managern (und Force Stop in ManageApplication). Was würde es nützen, eine Anwendung zu stoppen, wenn die im Hintergrund laufende Arbeit der Anwendung weiterhin ausgeführt wird?

Auf einer Standardversion des Android-Betriebssystems können Sie nicht verhindern, dass der Benutzer Ihren Dienst beendet

2voto

ahodder Punkte 11208

Dies ist das erwartete Verhalten. Dienste laufen nicht in ihrem eigenen Prozess. Wenn deine Anwendung beendet wird, stirbt auch dein gesamter Prozess.

In der von mir angehängten Dokumentation gibt es einen orangefarbenen Block eine Seite weiter unten (leider kann ich nicht direkt darauf verlinken :-( ), der dir im Grunde genommen erklärt, was ein Dienst ist.

0voto

Mohsin Naeem Punkte 12432

Ich bin mir nicht sicher! Aber du solltest dies ausprobieren.

0voto

Piotr Wittchen Punkte 3775

Wie bereits erwähnt wurde, ist dies zu erwarten. Das Beenden einer App, die den Service gestartet hat, sollte auch den laufenden Service beenden. Wenn Sie möchten, dass Ihr Service weiterläuft, wenn die App beendet wird, sollten Sie den Service in einem separaten Prozess starten, was durch die folgende Deklaration im Manifest erreicht werden kann:

    ...

Referenz: https://stackoverflow.com/a/15474347/1150795

Bitte beachten Sie, dass eine App normalerweise nicht beendet wird, bis ein Benutzer sie explizit im Task/App-Manager beendet oder das System sie aufgrund begrenzter Ressourcen, niedrigem Akku oder ähnlichen Gründen beendet. Ich bin mir nicht sicher, ob es üblich ist, solche Dinge zu behandeln, und ob Sie sich wirklich darum kümmern müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X