如何取消AsyncTask或所有AsyncTask,包括来自同一个Activity的嵌套AsyncTasks?

时间:2013-02-10 20:37:11

标签: android android-asynctask

活动使用 AsyncTask打开游标而不是生成子项AsyncTask来呈现项目用光标读取。

活动在游标AsyncTask 上执行,但没有看到项目的子项AsyncTask

如何取消指定Activity的所有正在运行的AsyncTask任务(包括嵌套)?

如何为指定的AsyncTask取消所有正在运行的子节点AsyncTask任务(如果可能的话)?

我想停止从接口到不损坏视图的新命令的所有任务。

2 个答案:

答案 0 :(得分:1)

你执行的AsyncTask没有经理。

您必须跟踪已创建的AsyncTasks的所有新实例,并使用cancel(boolean mayInterruptIfRunning)方法关闭它们。 注意取消任务不会在中间停止它。您需要签入doInBackground - isCanceled()

答案 1 :(得分:0)

如果您的AsyncTask正在运行循环,那么您可以检查公共标志(可能是某些单例的属性,如Application类本身或您的活动)。只要此标志变为真,那么您的任务将退出循环

相关问题