wie kann ich das tun?Java/Android Wie starte ich eine AsyncTask nach 3 Sekunden Verzögerung?
Antwort
Sie können Handler dafür verwenden. Verwenden Sie postDelayed (Runnable, long) dafür.
Verwenden Handler-Klasse und definiert Runnable handleMyAsyncTask
, den Code ausgeführt nach 3000 ms Verzögerung enthält:
mHandler.postDelayed(handleMyAsyncTask, 1000*3);
Sie dieses Stück Code verwenden kann, nach einer 3 Sekunden Verzögerung ausgeführt werden.
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// run AsyncTask here.
}
}, 3000);
Was ist, wenn nach 1sek Anwendung geschlossen ist? Ich meine die Anwendung ist komplett zerstört? wird dieser Timer nach 3 Sekunden noch laufen ... ich frage bcz, dass ich AsyncTask ausführen muss, selbst wenn die App geschlossen ist .... – kumar
Nein, es wird nicht ausgeführt. Wenn Sie Neustarts von Apps beibehalten müssen, verwenden Sie Alarme. –
Handler verwenden, wie in den anderen Antworten vorgeschlagen, der eigentliche Code ist:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
new MyAsyncTask().execute();
}
}, 3000);
Wie wichtig ist es, dass die Aufgabe bestehen durch App neu gestartet? –