Android中AyncTask线程终止问题

在线程中执行任务时,有时需要没有执行完任务手动终止任务。

要中断线程执行时,可以通过在线程中设置标识(boolean型)来判断线程的运行和结束。在doInBackground(Params…)方法中标识为可运行的就运行,当为中断标识时就停止,且放在循环里可以循环检测中断标识。特别是在线程执行时,有加载框ProgressDialog阻塞,通过捕获back键中断,不能直接在 AsyncTask中处理捕获back键事件来处理,而是通过ProgressDialog的setOnCancelListener()响应事件来调用AsyncTask中中断线程的方法。

pdProgressDialogialog.setCancelable(true);
pdProgressDialogialog.setOnCancelListener(new OnCancelListener() {
	@Override
	public void onCancel(DialogInterface dialog) {
		// TODO Auto-generated method stub
		httpexcuteExcuteHttp.setBreak();
	}
});
///而	AsyncTask中通过标识判断来 实现
class ExcuteHttp extends AsyncTask<Void, Integer, String> {
........
@Override
protected String doInBackground(Void... params) {
.......
for (xxx; xxx&!stopflaghttp;xxx) {
}
}
//设置标识
public void setBreak() {
// TODO Auto-generated method stub
stopflaghttp=true;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jjhluxun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值