Делает onPostExecute
выполнитесь если AsyncTask
был отменен?
Если это действительно выполняется, это безопасный сказать, что я должен всегда спрашивать, была ли задача отменена (isCancelled
) в начале onPostExecute
, прежде, чем сделать что-либо еще?
Из моего опыта onPostExecute() фактически не вызывается, когда задача отменяется. Однако может быть возможно отменить задачу после завершения doInBackground() задачи, но до вызова onPostExecute() - в этом случае onPostExecute() действительно вызывается. Поэтому, чтобы быть уверенным, я вызываю метод isCancelled() в onPostExecute() и просто "возвращаю", если задача была отменена. У меня это работает.
После проверки исходного кода AsyncTask кажется, что onPostExecute вызывается, даже если задача отменена. Однако перед вызовом onPostExecute для результата устанавливается значение null (?), Если задача была отменена.
Изменить: @bain предоставляет обновленный ответ .