取消()之后的AsyncTask状态?

时间:2015-04-06 23:41:02

标签: android android-asynctask

AsyncTask的cancel()方法的文档说明:

  

调用此方法可确保永远不会调用onPostExecute(Object)

AsyncTask.Status.FINISHED州的文档:

  

表示onPostExecute(Result)已完成。

这是否意味着取消的AsyncTasks的状态为RUNNING?在这种情况下,如何从已取消的任务中告知正在运行的任务?

2 个答案:

答案 0 :(得分:5)

根据the source code to AsyncTask,当后台工作完成后,将调用onCancelled()onPostExecute()。之后,状态设置为FINISHED。在此之前,任务大概是RUNNING

您还可以在isCancelled()状态之前调用FINISHED以查看任务是否已取消。

答案 1 :(得分:0)

CommonsWare answer绝对正确!

只是想添加AsyncTask中的特定代码段来证明其正确性:

Columns