您的位置:首页 > 其它

如何在退出一个activity后,很好的取消AsyncTask继续运行?

2013-06-24 16:04 288 查看
public class Task extends AsyncTask<Void, Void, Void>{

@Override

protected Void doInBackground(Void... path) {

// Task被取消了,马上退出循环

if(isCancelled()) return null;

}

@Override

public void onProgressUpdate(File... files) {

// Task被取消了,不再继续执行后面的代码

if(isCancelled()) return;

.........

}

}

UI线程:

// 保持对Task的引用

private PhotoTask task;

// 1,启动新的任务

task = new PhotoTask();

task.execute(path);

// 2, 取消任务

if (task != null && task.getStatus() == AsyncTask.Status.RUNNING) {

task.cancel(true); // 如果Task还在运行,则先取消它

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐