Frage

Ich arbeite an einer App, die MP3 -Dateien automatisch und nacheinander aus einer bestimmten Aktivität abspielt. Es weiß, wann das aktuelle MP3 -Spiel abgeschlossen wird, indem ein "Oncompletion" -Event vom MediaPlayer zu hören ist.

Wenn ich jedoch zum Startdisplay zurückkomme, indem ich während des Abspielens auf die Rückstufetaste drücke, läuft anscheinend noch die Aktivität. Wenn das Ereignis "Oncompletion" ausgelöst wird, versucht es, in einer Listenaktivität auf die Ansicht zuzugreifen und mit einer Null -Zeiger -Ausnahme abzustürmen.

Was ist der beste Weg, um festzustellen, dass die Aktivität nicht mehr "aktiv" ist und daher verhindern kann, dass der Aufruf zum nächsten Audio abgespielt wird?

War es hilfreich?

Lösung

Versuchen Sie, diejenigen in den Aktivitätslebenszyklusmethoden aufstopfen oder aufzusetzen. Prüfen Diese Dokumentation für mehr Details.

OnStop wird ausgelöst, wenn der Benutzer auf die Schaltfläche zurückklickt. Gehen Sie also mit Ihren Veranstaltungen in OnStop um.

public void onStop () {
//do your stuff here
super.onStop() 
}

Schließlich wird OnDestroy auch aufgerufen, aber nicht unbedingt, sobald die Back -Button geklickt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top