Вход в активность, 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()
,