Abbrechen AsyncTask, wenn der Benutzer die zurück-Taste drückt
Ich habe einen AsyncTask in denen ich einen ProgressDialog in das onPreExecute -, und verstecken es wieder in onPostExecute, so etwas wie
final class UploadTask extends AsyncTask {
ProgressDialog dialog = new ProgressDialog(...);
protected onPreExecute() {
dialog.show();
}
protected onPostExecute() {
dialog.hide();
}
};
Dialog ist kündbar und in der Tat geht Weg, wenn ich drücken Sie die Abbrechen-Taste während der Ausführung der AsyncTask.
Wenn das passiert, möchte ich ausführen von code zum Abbrechen der AsyncTask als auch (gerade jetzt, dachte er ProgressDialog Weg geht, der AsyncTask läuft weiter und irgendwann abgeschlossen ist). Ich habe versucht die Ableitung meiner eigenen Klasse von ProgressDialog und dann tun
setOnDismissListener(new OnDismissListener() {
@Override public void onDismiss(DialogInterface d) {
/* do something */
}
};
(oder etwas ähnliches mit einem OnCancelListener), aber das hat einfach nie aufgerufen wird.
Irgendwelche Ideen? Ich brauche nur einen Mechanismus für den Benutzer zum Abbrechen eines Laufenden AsyncTask, während ein ProgressDialog zeigt.
- ein Beispiel für das Abbrechen eines asynctask quicktipps.in/richtige-Weg-zum-Abbrechen-ein-asynctask in android
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich noch nicht getestet, aber probieren Sie etwas wie dieses:
Ich denke, du suchst das: onCancelled()
http://developer.android.com/reference/android/os/AsyncTask.html