Hintergrundaufgabe, Fortschrittsdialog, Orientierungsänderung - gibt es eine 100% funktionierende Lösung?

Ich lade einige Daten aus dem Internet im Hintergrund-Thread herunter (ich benutzeAsyncTask) und zeigen während des Herunterladens einen Fortschrittsdialog an. Die Ausrichtung ändert sich, die Aktivität wird neu gestartet und meine AsyncTask ist abgeschlossen. Ich möchte den Fortschrittsdialog schließen und eine neue Aktivität starten. Der Aufruf von dismissDialog löst jedoch manchmal eine Ausnahme aus (wahrscheinlich, weil die Aktivität zerstört wurde und noch keine neue Aktivität gestartet wurde).

Was ist der beste Weg, um diese Art von Problem zu lösen (Aktualisierung der Benutzeroberfläche über einen Hintergrund-Thread, der auch dann funktioniert, wenn der Benutzer die Ausrichtung ändert)? Hat jemand von Google eine "offizielle Lösung" bereitgestellt?

Antworten auf die Frage(16)

Ihre Antwort auf die Frage