Android 如何按返回键暂停异步任务

转载 2015年07月07日 13:36:29

使用AsynTask异步任务处理耗时操作(work)时,通常会增加ProgressDialog进度条来显示等待操作(或加载进度)。
此时按返回键,因为焦点在ProgressDialog上,ProgressDialog捕获返回键操作,而Activity是不响应返回键操作的。
如果你想实现,当进行耗时操作时(ProgressDialog正在显示),按返回键,结束当前work操作。
你需要注意ProgressDialog的设置:
progress_dialog.setCancelable(true);//响应取消操作,这里如果设置false,按返回键ProgressDialog也不消失。
progress_dialog.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// TODO Auto-generated method stub
AsynTask.this.cancle(true);//执行异步线程取消操作
}
});
同时注意,AsynTask执行cancele()操作后,相应的方法是如何执行。
You can stop a running task with cancel(true). A cancel will let the task finish its doInBackground but will never call onPostExecute. You could interrupt your background routine by checking isCanceled() and so return earlier since the task was killed.
参考:http://stackoverflow.com/questions/8209035/android-stop-asynctask-when-back-button-is-pressed-and-return-to-previous-acti

相关文章推荐

Android返回键处理、任务和home键处理

处理返回键的事件,监听任务键和home键的监听。

cocos2dx android 监听返回键

  • 2015年12月01日 10:34
  • 18KB
  • 下载

如何添加Android返回键的退出功能

环境:Cocos2dx v3.5 经网上搜索资料知道有两种方法可以实现Android返回键的退出功能,下面分别说明。 1、修改java代码 首先,在Cocos2dx的源文件中找到Cocos2dxG...

angular ionic 框架对 Android 返回键 的 退出app 处理

angular ionic 框架对 Android 返回键 的 退出app 处理

android 按两次返回键退出

  • 2014年09月26日 09:52
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 如何按返回键暂停异步任务
举报原因:
原因补充:

(最多只允许输入30个字)