我在我的活动之一中实现了 AsyncTask:
performBackgroundTask asyncTask = new performBackgroundTask();
asyncTask.execute();
现在,我需要实现“取消”按钮功能,因此我必须停止正在运行的任务的执行。我不知道如何停止正在运行的任务(后台任务)。
所以请建议我,如何强制取消 AsyncTask ?
Update:
我发现关于Cancel()
方法相同,但我发现调用cancel(boolean mayInterruptIfRunning)
不一定会停止后台进程的执行。似乎发生的事情是 AsyncTask 将执行 onCancelled(),并且在完成时不会运行 onPostExecute()。
只需检查一下isCancelled()
偶尔:
protected Object doInBackground(Object... x) {
while (/* condition */) {
// work...
if (isCancelled()) break;
}
return null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)