Статус Asynctask всегда показывает запуск

Я хочу выполнить asynctask после завершения первой задачи. Но при печати статуса первой задачи всегда отображается RUNNING.Если выполнить обе задачи параллельно, будет выполняться только меньшая задача. Я бегу как в деятельности oncreate method.Any идея?

Вот мой пример кода

public class test extends Activity { ExecuteTask1 task1; ExecuteTask2 task2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); task1 = new ExecuteTask1(); task1.execute(token); System.out.println(task1.getStatus()); if(task1.getStatus() ==AsyncTask.Status.FINISHED) { task2 = new ExecuteTask2(); task2.execute(token); } } } 

В вашем коде прямо сейчас вы не даете task1 время для завершения. Запустите task2 из метода onPostExecute задачи1. (Вам нужно будет изменить код в классе ExecuteTask1, чтобы это работало.)

В качестве альтернативы попросите задачу 1 вернуться к своей деятельности (или отправить сообщение ей или чему-то) в onPostExecute чтобы ваша деятельность могла затем запустить task2.

Это потому, что вы получаете статус task1 сразу после его запуска – вам нужно вызвать второй AsyncTask из первого onPostExecute() , используя обработчик или каким-либо другим способом.

Метод AsyncTask get блокирует. Затем вы также можете записать task1.get() а затем task2.execute() . Таким образом, вы удаляете зависимость задачи1 с задачей2 в реализации AsyncTask