比方说,我开始和AsyncTask
并保持对它的引用:如果/切换评估原子?
AsyncTask task = new SomeAsyncTask().execute();
然后在某一点,而该任务仍在运行,我执行以下操作:
if(task.getStatus() == AsyncTask.Status.RUNNING) {
task.cancel(true);
}
可以将状态在AsyncTask
的成为后task.getStatus() == AsyncTask.Status.RUNNING
回报true
和cancel()
之前FINISHED
叫?
换句话说,使用上面cancel()
以上的代码可能会在完成的AsyncTask
上被调用吗?
是的,这是可能的。 – yole
是的,这是一种可能性。您可以在任务中使用wasCancelCalled()进行更多检查 –
如果您想在任务完成后执行某些操作,请使用onPostExecute –