heißt. Ich möchte eine lange Operation Task von onDestroy() aus einem Fragment ausführen. Mein Ziel ist es, einen Netzwerkanruf zu tätigen, um einige Daten zu löschen, falls der Benutzer die Anwendung schließt, indem er sie von den letzten Apps wischt. Ich möchte eine Absicht starten, wenn onDestroy() aufgerufen wird.Führen Sie eine lange Aufgabe aus, wenn onDestroy()
Im Moment, wenn ich versuche, die Absicht zu initiieren, verliere ich den Kontext, bevor ich eine Chance habe, den Anruf zu betreiben, da onDestroy() bereits meine Anwendung getötet hat.
Ich möchte diese Option nicht verwenden: Performing long running operation in onDestroy seit ein Thread wie so laufen ist nicht der richtige Weg, es zu tun, und scheint wie ein gefährlicher Hack.
Der Aufruf der Operation von onDestroy() der Aktivität führte zum selben Fehler.
Natürlich möchte ich keine Arbeit auf dem ui-Thread und "verschieben" die onDestroy(), bis meine Operation abgeschlossen ist.
Nur für die Freigabe, während GetContext() nicht null ist, bis der SomeService-Klasse erreichen, ist der Kontext bereits null, da das Senden einer Absicht eine asynchrone Operation ist.
@Override
public void onDestroy() {
Intent intent = new Intent(getContext(), SomeService.class);
getContext().startService(intent);
super.onDestroy();
}