Ich schreibe einen Dienst, der im Hintergrund geöffnet bleibt und Benutzeraktionen aufzeichnet.Wie kann man wissen, ob ein Benutzer onDestroy in einer Aktivität und nicht im System ausgelöst hat?
Wenn nun ein Benutzer die App-Aktivität beendet, indem er im App-Bildschirm die Zurück-Taste drückt oder die App wegwischt, möchte ich auch den Hintergrunddienst beenden, aber wenn Android onDestroy aufruft, wegen einer Orientierungsänderung oder aus irgendeinem anderen Grund sollte der Dienst noch im Hintergrund ausgeführt werden.
Dafür muss ich den Unterschied im Code, wenn der Benutzer die Aktivität geschlossen oder wenn es Android war.
Für die Zurück-Taste ist dies eine einfache Lösung, überschreiben Sie einfach die onBackpressed und alles ist in Ordnung, dies wird jedoch nicht aufgerufen, wenn der Benutzer die App aus dem letzten apps Bildschirm wischt.
Verwendungsflag backpress Ereignis zu identifizieren. Bei der Änderung der Ausrichtung erhalten Sie den Konfigurations-SystemaufrufConfigurationChanged. Während des Wischens der App von einem letzten Bildschirm oder einer im Hintergrund getöteten Anwendung (Prozess) wird Ihr App-Dienst onDestroyed aufgerufen. –