回答
您不能取消所有实例无参考,EACH个人的AsyncTask。
阅读有关cancel()确实形成AsyncTask的文档。
一旦你有每个AsyncTask的引用,那么你可以取消它们中的每一个。
使用下面的代码来取消运行的AsyncTask
if(myAsyncTask.getStatus().equals(AsyncTask.Status.RUNNING))
{
myAsyncTask.cancel(true);
}
这个答案已经存在请理解问题陈述 – Awadesh
在您的活动(或任何可见的asynctasks)设置一个布尔标志和的AsyncTask里面做:
while (flag) {
your_logic;
}
当标志按back设置为false,每一个的AsyncTask应停止本身 - 那么你不不需要参考asyntasks本身,因为他们会完成所有的工作。
找到了解决办法:我uploadingDialog.show()这样的前添加一个动作监听:
uploadingDialog.setOnCancelListener(new DialogInterface.OnCancelListener(){
public void onCancel(DialogInterface dialog) {
myTask.cancel(true);
//finish();
}
});
那当我按下后退按钮的方式,上述OnCancelListener取消对话框和任务。如果你想完成后面按下的整个活动,你也可以添加完成()。请记住,你的声明异步任务,像这样的变量:
MyAsyncTask myTask=null;
并执行这样的任务异步:
myTask = new MyAsyncTask();
myTask.execute();
这不是针对他的问题。他并没有问你如何取消一个AsyncTask,而是询问你如何取消几个。请参阅我的帖子。 – JoxTraex
- 1. 取消所有AsyncTask?
- 2. 获取所有正在运行的实例使用nagios
- 3. 无法取消运行AsyncTask
- 4. 发送消息到Windows应用程序的所有正在运行的实例
- 5. 如何检索AsyncTask的运行实例?
- 6. 无法取消AsyncTaskLoader中正在运行的AsyncTask
- 7. 如何列出所有正在运行的CLR实例
- 8. Android AsyncTask - 避免多个实例运行
- 9. Retrofit 2/OkHttp:取消所有正在运行的请求
- 10. 立即取消所有正在运行的C#Parallel.Foreach线程
- 11. Android如何在AsyncTask运行过程中停止/取消AsyncTask?
- 12. 取消AsyncTask未运行调用onCancelled?
- 13. SQL Server:2005实例正在运行,需要运行2008实例
- 14. 码乘以所有实例运行
- 15. ProgressDialog不消除Asynctask的多个实例
- 16. 在命令行上运行目标的所有绑定实例
- 17. 如何取消AsyncTask的当前实例并启动新的?
- 18. 取消的AsyncTask
- 19. 的AsyncTask不取消取消
- 20. 尽管状态为正在运行,AsyncTask有时不会运行?
- 21. 如何打印所有正在运行的Docker实例的IP地址?
- 22. 取消正在运行的查询
- 23. 取消正在运行的进程
- 24. 获取正在运行的Python程序的实例
- 25. 获取当前正在运行的活动的实例吗?
- 26. AsyncTask不取消在Android的长时间运行操作
- 27. 在运行时更改类的所有实例的方法
- 28. 在不停止正在运行的实例的情况下更改正在运行的EC2实例的.pem键
- 29. AsyncTask实例
- 30. CLR正在运行多少个实例?
调用'cancel'方法。请参阅:http://developer.android.com/reference/android/os/AsyncTask.html#cancel(boolean) –
[Android:取消异步任务]的可能重复(http://stackoverflow.com/questions/ 6039158/android-cancel-async-task) – Sree
您无法取消所有实例,而无需引用每个AsyncTask。阅读有关cancel()形成AsyncTask的文档。 – JoxTraex