android中没有取消异步任务

时间:2013-06-07 10:37:40

标签: android

在异步任务启动后,我在按钮单击中调用了asynctask.cancel(true)。我正在检查doinbackground中的iscancelled值并相应地写入条件。条件是

while(myProgress<phnno.size()){

                if (isCancelled()) {


                    break;
                }else{
                     myProgress++;
                        publishProgress();
                           SystemClock.sleep(100);
                }

               }

但是异步任务仍然没有被取消。任何人都可以就此提出建议。 提前致谢

2 个答案:

答案 0 :(得分:1)

猜测因为我没有看到你的所有代码。

确保您在同一个cancel()对象上调用AsyncTask。不要创建新的。

像这样:

AsyncTask myTask = new AsyncTask();
myTask.execute();

稍后,当您要取消

myTask.cancel();

答案 1 :(得分:0)

在asynctask中添加此方法:

@Override
    protected void onCancelled() {
        running = false;
    }