文档章节

Android handler异常处理

深圳_小白菜
 深圳_小白菜
发布于 2014/04/28 17:10
字数 156
阅读 365
收藏 1

old:

if (Common.iCallNumber != null) {
                handler.postDelayed(runnable, 1000);
 }

Timer timer=new Timer();
                timer.schedule(new TimerTask() {
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        // 结束的时候消除弹出框
                        System.out.println("上下文对象---->>>>>"+context);
                        if(context!=null){
                            manager = com.zshfzb.pop.MyWindowManager.getInstance(context);
                            manager.show();
                            manager.dismiss();
                            context.stopService(new Intent(MyService.ACTION));
                        }
                        
                    }
                }, 2000);

 java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
     at android.os.Handler.<init>(Handler.java:121)
     at android.view.ViewRootImpl$ViewRootHandler.<init>(ViewRootImpl.java:2731)
     at android.view.ViewRootImpl.<init>(ViewRootImpl.java:2988)
     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:292)
     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:224)
     at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:149)
     at com.zshfzb.pop.MyWindowManager.show(MyWindowManager.java:69)
     at com.zshfzb.autoanswer.AutoAnswerReceiver$3.run(AutoAnswerReceiver.java:92)
     at java.util.Timer$TimerImpl.run(Timer.java:284)

解决办法:

Runnable runnable = new Runnable() {

        @Override
        public void run() {
            Message msg = new Message();
            msg.what = 1;
            if (handler != null) {
                handler.sendMessage(msg);
            }
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            manager = com.zshfzb.pop.MyWindowManager.getInstance(context);
            manager.show();
            manager.dismiss();
            context.stopService(new Intent(MyService.ACTION));
        }
    };


© 著作权归作者所有

共有 人打赏支持
深圳_小白菜
粉丝 1
博文 106
码字总数 26076
作品 0
深圳
程序员
加载中

评论(1)

深圳_小白菜
深圳_小白菜
支持一下
Handler消息处理机制分析

Handler经常用,然后自己总结一下下 一. What、Handler 是什么 Handler 与 Message、MessageQueue、Looper 一起构成了 Android 的消息机制,Android 系统通过大量的消息来与用户进行交互,V...

大二架构师
05/07
0
0
[Android] Android进程与线程基本知识

本文介绍Android平台中进程与线程的基本知识。   很早的时候就想介绍一下Android中的进程和线程,但由于其他的事情一直给耽搁了,直到现在才能和大家一起分享下。   1.Android进程基本知...

枫兮兮
2014/02/24
0
0
android异常:android.os.NetworkOnMainThreadException

报android.os.NetworkOnMainThreadException异常,经过查文档,原来是4.0系统不允许主线程(UI线程)访问网络,因此导致了其异常。在4.0之后在主线程里面执行Http请求都会报这个错,也许是怕H...

天下杰论
2012/12/04
0
1
一些常见的Android面试基础题做下总结,看看你能做出多少道

Intent的几种有关Activity启动的方式有哪些,你了解每个含义吗? 这里Android123提示大家,Intent的一些标记有FLAGACTIVITYBROUGHTTOFRONT 将activity带动最前面FLAGACTIVITYCLEARTOP清除顶部...

gavin_jin
2012/02/27
0
1
Android Handler 机制 - Looper,Message,MessageQueue

Android Studio 2.3 API 25 从源码角度分析Handler机制。有利于使用Handler和分析Handler的相关问题。 Handler 简介 一个Handler允许发送和处理Message,通过关联线程的 MessageQueue 执行 ...

rustfisher
2017/08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Ubuntu18.04 显卡GF-940MX安装NVIDIA-390.77

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动: (a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers (b)下载后好放在英文路径的目录下,怎么简单怎么来...

AI_SKI
今天
1
0
深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
今天
1
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
今天
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
3
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部