Asynchronous task 不能在 android 中取消

在 async task开启后,在按钮点击事件中调用 asynctask.cancel(true)。但是当我在运行的后台中检查取消了的值事,使用了响应的条件句,如下:

while(myProgress<phnno.size()){
                if (isCancelled()) {
                     break;
                }else{
                     myProgress++;
                        publishProgress();
                           SystemClock.sleep(100);
                }
                }

但是asynchronous task 还是没有被取消了,怎么处理这个问题呢?

while条件可以放个isRunning,在按钮事件里你就置条件于fasle,task就不执行了,或者在task的onPostExecute函数中置isRunning为fasle