0
是否有可能取消AsyncTask已在doInBackground一行命令執行一個很長的操作,如取消的AsyncTask
@Override
protected Boolean doInBackground(String... filename) {
fetchfile(filename[0]);
// ...
// ...
return ...;
}
是否有可能取消AsyncTask已在doInBackground一行命令執行一個很長的操作,如取消的AsyncTask
@Override
protected Boolean doInBackground(String... filename) {
fetchfile(filename[0]);
// ...
// ...
return ...;
}
您可以AsyncTask.cancel()
取消。您可以在適當的地方在fetchFile
方法內取消它,您認爲它不會在數據中或在易於回滾的地方引入不一致。
在長時間運行的方法中,定期檢查isCanceled,如果爲true,則從函數ASAP快速返回,以便可以關閉異步線程。 你可以從任何線程調用cancel()。
這取決於'fetchfile'在做什麼。 – skaffman
請點擊這裏:http://developer.android.com/reference/android/os/AsyncTask.html。部分:「取消任務」 –
重複:http://stackoverflow.com/questions/4748964/android-cancel-asynctask-forcefully – derekerdmann