Вход в активность, postOnExecute, резюме

Мне нужно реализовать процесс автоматического входа из деятельности. Также мне нужно показать ProgressDialog при входе в систему. Я использую AsyncTask для процесса входа в систему, потому что мне не удалось показать ProgressDialog по-другому, и я выполняю указанное AsyncTask в onCreate, Я прочитал, что весь код, который выполняется после doInBackground должно быть написано в onPostExecute, но у меня есть код в onResume, onResume запускается когда AsyncTask еще не закончил свое исполнение. Можно ли запустить onResume только после AsyncTask закончен? Или можно выполнить другие функции после AsyncTask закончено (в общем)?

2 ответа

Решение
 Is it possible to launch onResume only after AsyncTask is finished?

Нет, вам нужно следовать Activity Lifecycle, И AsyncTask асинхронный, так что он может работать в то время как ваш UI все еще может делать другие вещи. Что вы можете сделать, это положить код, который находится в onResume() что вы хотите запустить после завершения задачи в вашем onPostExecute() метод. Есть и другие варианты, но, не видя код, который вы пытаетесь запустить, я бы предложил это.

Или можно выполнить другие функции после завершения AsyncTask (в общем)?

Да. Вы можете поместить этот код в другой Activity метод и вызвать это из onPostExecute()

Вы также можете использовать getStatus() метод AsyncTask запустить код на основе статуса вашего AsyncTask

Краткий ответ: Нет.

Если вы проверите сайт разработчика Android или это изображение, вы убедитесь, что OnResume() после того, как действие загружено, после создания, приостановки или перезапуска. В моем случае эта проверка была сделана в OnResume(),

Другие вопросы по тегам