当前位置: 首页 > article >正文

Looper.prepare()和Looper.loop(),在子线程中更新UI

当子线程想直接更新UI时,例如进行Toast提示。

可以先Looper.prepare(),然后Looper.loop(),代码如下(加黑处):

public class CrashHandler implements UncaughtExceptionHandler {TApplication tApplication;public CrashHandler(TApplication tApplication) {super();this.tApplication = tApplication;}@Overridepublic void uncaughtException(Thread thread, Throwable ex) {StringWriter stringWriter = new StringWriter();PrintWriter printWriter = new PrintWriter(stringWriter);ex.printStackTrace(printWriter);String string = stringWriter.toString();Log.i("tedu1", "出错了4 " + string);// 启工作线程,toast是界面控件// 工作线程不能更新UI<strong>new Thread() {public void run() {// show用到队列 主线程有looper,取消息放队列Looper.prepare();Toast.makeText(tApplication, "网络不稳定,程序即将重启", Toast.LENGTH_SHORT).show();Looper.loop();};}.start();
</strong>try {Thread.currentThread().sleep(2000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}Intent intent = new Intent(tApplication, MainActivity.class);// 不执行PendingIntent pendingIntent = PendingIntent.getActivity(tApplication, 100, intent,Intent.FLAG_ACTIVITY_NEW_TASK);// 过一会执行pendingIntentAlarmManager alarmManager = (AlarmManager) tApplication.getSystemService(Context.ALARM_SERVICE);alarmManager.set(AlarmManager.RTC, System.currentTimeMillis() + 200, pendingIntent);tApplication.finish();}}

代码出自跑跑项目。

http://www.lryc.cn/news/2416858.html

相关文章:

  • http://download.chinaitlab.com/
  • oracle 01157,Oracle数据库启动时出现ORA-01157和ORA-01110问题
  • 即将到来的 ECMAScript 2022 新特性
  • 窗口句柄浅析和获取窗口句柄的方法
  • Delphi7中WebBrowser控件的bug及解决方案
  • 硬盘显示容量和实际容量不符合_让小小白变大白的笔记本电脑知识科普(硬盘篇)...
  • 工具分享:易读文档下载器(同时支持百度/豆丁)
  • 在网页上漫步太空,谷歌推出谷歌天空网页版
  • 微信红包助手:自动抢红包,智能更轻松
  • H264/H265 PS 流分析
  • 解决 java.sql.SQLException: ORA-01688: unable to extend table XXX partition YYY by 1024 in tablespace
  • 三种常见中文内码的转换方法
  • 如何捕获access violation异常
  • c3p0详细配置
  • 实例表现ibatis的基础用法(不断更新)
  • 为intellij idea添加YUI Compressor支持
  • 详细解释PHP中header
  • JavaScript的数组操作
  • 软件工程相关知识点
  • IIS启动不了解决方法
  • Java API 使用文档中文版下载
  • LangChain搭建Agent | 使用initialize_agent
  • Android学习笔记(十) 主题样式的设置
  • 渗透中寻找突破口的那些事
  • 解决QQ在线客服代码提示对方“QQ在线状态”服务尚未启用
  • VM12即VMware Workstation 12 序列号
  • linux修改vcf编码格式,飞翔vcf文件编码转换
  • [转]灰度共生矩阵(超简单理解)
  • web网页死链接检查工具——“Scrutiny 8”
  • 修改framework-res.apk的内容