AsyncTask超时控制
来源:互联网 发布:ios10gamecenter数据 编辑:程序博客网 时间:2024/05/20 02:27
在用AsyncTask进行异步任务的时候,有的时候想控制在多长时间,异步任务没有完成,就取消该异步任务。实现方法主要是在开一个工作者线程,然后在这个线程中,对异步任务的状态判断,根据返回值判断异步任务十分正确完成。具体代码为:
Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; //async task final RunTask tsk = new RunTask (); tsk.execute(); //setting timeout thread for async task Thread thread1 = new Thread(){ public void run(){ try { tsk.get(30000, TimeUnit.MILLISECONDS); //set time in milisecond(in this timeout is 30 seconds } catch (Exception e) { tsk.cancel(true); ((Activity) mContext).runOnUiThread(new Runnable() { @SuppressLint("ShowToast") public void run() { Toast.makeText(mContext, "Time Out.", Toast.LENGTH_LONG).show(); finish(); //will close the current activity comment if you don't want to close current activity. } }); } } }; thread1.start(); }代码中,主要是对异步任务接口中get方法以及cancel接口的时候。
0 0
- AsyncTask超时控制
- TUXEDO超时控制全功略
- tuxedo 超时控制
- TUXEDO超时控制全功略
- java超时控制
- shell脚本超时控制
- shell脚本超时控制
- ajax 超时控制
- Transactional超时时间控制
- shell脚本超时控制
- Transactional超时时间控制
- Netty超时控制handler
- AsyncTask超时问题分析及解决
- 控制Loading时间的AsyncTask
- 伪会话管理机制 控制超时
- Tuxedo 超时控制(转贴)
- Tuxedo 超时控制(转贴)
- Java 超时线程控制实现
- Linux Kernel: buffers和cached的区别
- linux下gzip的压缩详解
- ACM国际大学生程序设计竞赛介绍
- IOS之json转model
- gearman简介及安装使用
- AsyncTask超时控制
- 1066.Root of AVL Tree
- openwrt编译openswan——以及交叉编译环境配置
- 浅谈 my_strlwr和my_strupr 把大写字符串转化为小写
- SQLSERVER存储过程查找数据表中某列存在空值
- 进程与线程
- SMB/CIFS协议解析(一)
- 黑马程序员——Java语言基础组成
- 推推熊-上门推拿专家