Verhindert, dass Android-Aktivitäten beim Ausschalten des Bildschirms neu erstellt werden

Wie kann verhindert werden, dass eine Aktivität beim Ausschalten des Bildschirms neu erstellt wird?

Was ich mache

Starte Bejewels und gehe zum Schmuckbildschirm.Drücken Sie kurz die Ein- / Aus-Taste. Der Bildschirm ist ausgeschaltet, das Gerät jedoch nicht.Drücken Sie die Ein- / Aus-Taste erneut.

Was ich sehe

Der gleiche Bildschirm wie vor dem Ausschalten des Bildschirms.

Im Falle meiner Anwendung (triviale, nur eine Web-App mit einem einzigen WebView) sieht das Szenario folgendermaßen aus:

Was ich mache

Starte meine App. Die Methode activity onCreate () lädt eine URL in das WebView.Drücken Sie kurz die Ein- / Aus-Taste. Der Bildschirm ist ausgeschaltet, das Gerät jedoch nicht.Drücken Sie die Ein- / Aus-Taste erneut.

Was ich sehe

Das WebView lädt die Seite neu.

Was ich erwartet habe

Wie in Bejewels Fall möchte ich den gleichen Bildschirm sehen, dass für meine App die Seite in ihrem vorherigen Zustand ist: Skripte werden ausgeführt, Felder eines Formulars werden gefüllt usw.

Das Debuggen hat gezeigt, dass ich falsch lag (in einer vorherigen Frage) und onDestroy () und onCreate () werden nacheinander aufgerufen, wenn der Bildschirm gerade eingeschaltet wird. Und da ich immer noch eine Musik höre, die von einem Skript abgespielt wird, wenn der Bildschirm ausgeschaltet ist, sieht es so aus, als ob sowohl die Aktivität als auch das WebView existieren, bis ich den Ein- / Ausschalter erneut drücke.

Was ich versucht habe.

android: alwaysRetainTaskState = "true" Das gleiche Verhalten.Über Absichten lesen (ohne Erfolg, ich habe einfach nicht verstanden, wie sie auf meine Situation angewendet werden).PhoneGap verwenden. Es verhält sich anders: Beim Drücken des Ein- / Ausschalters wird nur die gesamte Anwendung beendet. Das ist besser, aber nicht das Beste.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage