文档章节

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.os.NetworkOnMainThreadException

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

天下杰论
2012/12/04
0
1
[Android] Android进程与线程基本知识

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

枫兮兮
2014/02/24
0
0
Android Handler 机制 - Looper,Message,MessageQueue

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

rustfisher
2017/08/02
0
0
一些常见的Android面试基础题做下总结,看看你能做出多少道

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

gavin_jin
2012/02/27
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Java GC机制详解

垃圾收集 Garbage Collection 通常被称为“GC”,本文详细讲述Java垃圾回收机制。 导读: 1、什么是GC 2、GC常用算法 3、垃圾收集器 4、finalize()方法详解 5、总结--根据GC原理来优化代码 ...

小刀爱编程
18分钟前
1
0
ORACEL学习--理解over()函数

二、理解over()函数 1.1、两个order by的执行时机 分析函数是在整个sql查询结束后(sql语句中的order by的执行比较特殊)再进行的操作, 也就是说sql语句中的order by也会影响分析函数的执行结果...

spinachgit
20分钟前
1
0
抽象语法树

import asttree = ast.parse('def hello_word(): print("hello world!")')def hell_word(): print(1)print(ast.dump(tree)) 语法树 可以基于这个实现另外一种编程语言...

colin_86
20分钟前
1
0
Akka查询设备组《fourteen》译

加入以下依赖到项目中: 介绍: 到目前为止,我们看到的会话模式很简单,因为它们要求Actor保持很少或没有状态。 特别: 设备actor返回一个读数,不需要更改状态。 记录温度,更新单个字段。...

woshixin
27分钟前
1
0
wait、notify、notifyAll 的用法

wait()、notify()、notifyAll()是三个定义在Object类里的方法,用来控制线程的状态。这三个方法最终调用的都是jvm的native方法, 随着jvm运行平台的不同可能有些许差异。 wait(): 使持有该对...

noob_fly
29分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部