比方說,我開始和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 –