Мне нужно выполнить две задачи, чтобы вторая задача зависела от действия первой. Первая задача похожа на загрузку файла, а вторая задача выполняет некоторые действия с загруженным файлом. Для этого я создал две AsyncTasks A и B.
Один из вариантов, который у меня есть, - это просто объединить две задачи и иметь только одну AsyncTask вместо двух.
Но я выясняю варианты, которые у меня есть, если я не хочу объединять две задачи.
То, что я не могу сделать, это вызвать одну задачу, а затем напрямую вызвать другую задачу из моей деятельности по понятным причинам (потому что код вызовет AsyncTask 2 до завершения AsyncTask 1, которая выполняется в фоновом режиме).
Другой вариант - вызвать AsyncTask A, а затем в методе onPostExecute
AsyncTask A вызвать AsyncTask B, так что B будет работать только после окончания части doInBackground
A. Итак, это в основном вызов задачи из другой задачи.
Есть ли другой лучший способ сделать это?
Есть ли способ, с помощью которого я могу узнать в своей активности вызова, когда AsyncTask A завершен (без блокировки потока пользовательского интерфейса), чтобы я мог вызвать AsyncTask B после того, как узнал, что AsyncTask A завершен?