У меня проблема с выполнением моих асинктаск. Вот код проблемы:
firstTask = new background().new FirstTask(context);
if (firstTask.execute().get().toString().equals("1")) {
secondTask = new background().new SecondTask(context);
}
То, что я здесь делаю, - это создание нового объекта asynctask, присвоение ему firstTask, а затем выполнение. Затем я хочу запустить отдельную асинхронную задачу после завершения первой и убедиться, что она возвращает значение успеха (в данном случае 1).
Это прекрасно работает на Android 2.0 и выше. Тем не менее, я тестирую с Android 1.5, и проблемы начинают появляться. Приведенный выше код запускает первую асинхронную задачу, но doInBackground () никогда не вызывается, несмотря на то, что вызывается onPreExecute (). Если я хочу выполнить первую задачу без метода get (), вызывается doInBackground (), и все работает как положено. За исключением того, что сейчас у меня нет способа определить, успешно ли выполнено первое задание, чтобы я мог сказать второму заданию выполнить.
Можно ли предположить, что это ошибка с асинхронной операцией на Android 1.5? Тем более что API (https://developer.android.com/reference/android/os/AsyncTask.html#get%28%29) говорит, что метод get был реализован начиная с API 3.
Есть ли способ это исправить? Или другой способ определить, что первое задание выполнено?