Android ruft AsyncTask auf, nachdem ein anderer beendet wurde

Ich habe ein Problem mit Android AsyncTask. Es gibt eine Aktivität, die einige TextView eine Schaltfläche und ein Bild enthält. Wenn ein Benutzer diese Aktivität eingegeben hat, starte ich eine asynchrone Aufgabe, um zu prüfen, ob der Benutzer von der Aktivität aus darauf zugreifen kann (bis die Aufgabe nicht beendet ist, ist die Schaltfläche nicht aktiv). Dann möchte ich einen weiteren Asyntask starten, um das Bild zu erhalten. Also habe ich eine innere Klasse gemacht:

<code>AsyncTask<String, Void, JSONObject>() authTask = new AsyncTask<String, Void, JSONObject>() {
     @Override
     protected JSONObject doInBackground(String... params) {
         //call the rest api
     }
     @Override
     protected void onPostExecute(JSONObject result) {
         // check the result
         // and make another asynctask
         AsyncTask<String, Void, Bitmap> imageTask = new Async.... {
             // get image
         }
         imageTask.execute();
     }
}
</code>

und ich rufe anauthTask.execute(); aus dem UI-Thread.

Ich habe ein schlechtes Gefühl dabei, vor allem scheint es nicht zu funktionieren (es ist ein paarmal in Ordnung, aber plötzlich "friert" es ein: keine Ausnahme, nur hängen und der Fortschrittsbalken dreht sich. Nichts passiert und die Schaltfläche ist nicht aktiv.) Gibt es eine andere Möglichkeit, Informationen abzurufen und sofort eine andere Aufgabe zu starten, wenn sie abgeschlossen ist?

UDPATE: Ich arbeite mit API-Level 10. In authTask erhalte ich einige Informationen, die zum Starten von imageTask erforderlich sind (eine ID), sodass ich diese Tasks nacheinander aufrufen muss. In API Level 10 ist es möglich?

Danke im Voraus!

Br, Peter

Antworten auf die Frage(7)

Ihre Antwort auf die Frage