У меня возникла проблема с Android AsyncTask. Существует действие, которое содержит кнопку TextView и изображение. Когда пользователь вошел в это действие, я запускаю асинхронную задачу, чтобы проверить, может ли пользователь перейти к действию (, пока задача не завершится, кнопка не активна ). Затем я хочу запустить еще одну асинтаск, чтобы получить изображение. Итак, я создал внутренний класс:
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();
}
}
и вызываю authTask.execute();
из потока пользовательского интерфейса.
У меня плохое предчувствие по этому поводу, особенно кажется, что это не работает, (все нормально несколько раз, но вдруг "зависает":без исключений, просто зависает и крутится полоса прогресса. Ничего не происходит и кнопка не активна. )Есть ли другой способ получить информацию, а когда она закончится, сразу же запустить другую задачу?
ОБНОВЛЕНИЕ:Я работаю с API уровня 10. В authTask я получаю некоторую информацию, необходимую для запуска imageTask (с некоторым идентификатором ), поэтому я должен вызывать эти задачи подряд. На уровне API 10 это возможно?
Заранее спасибо!
Бр, Питер