我想取消特定条件下的异步任务。 我做了以下的东西:AsyncTask进入等待状态
MyService.java
....
if(condition){
asyncTask.cancel(true); // its return the true as well
}
...
MyAsynTask.java
...
protected Object doInBackground(Object... x) {
while (/* condition */) {
// work...
if (isCancelled()){ // Here task goes in to wait state
break;
}
else{
//continue to download file
}
}
return null;
}
...
使用DDMS我发现,任务进入等待状态。任何建议来解决这个问题将不胜感激。
谢谢, Yuvi
你不需要检查它isCancelled()在doInBackground(方法)。只需检查条件n取消它。 –
任务去?也许线程去? DDMS显示任务状态?如果线程进入等待状态,这是正常的。 – Leonidos
@Leonidos添加屏幕截图以及... AsyncTask是只有线程的名称... – Yuvi