文档章节

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)

深圳_小白菜
深圳_小白菜
支持一下
(转)Android平台的崩溃捕获机制及实现

作者简介:贾志凯,Testin崩溃分析(http://apm.testin.cn/)项目研发工程师,负责客户端SDK相关技术研发工作。5年移动互联网开发经验,曾任职于中科院、Symantec、Opera,对移动App的测试、分...

so1per
2016/01/18
3.4K
0
Android程序Crash时的异常上报

转载请注明来源:http://blog.csdn.net/singwhatiwanna/article/details/17289479 前言 大家都知道,android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发...

长平狐
2013/12/25
3.5K
0
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

没有更多内容

加载失败,请刷新页面

加载更多

二十分钟教你如何将区块链应用与函数计算相结合

前言 本篇文章适合对区块链应用感兴趣或是想要通过函数计算服务进一步开发区块链应用的新人。本文将结合阿里云区块链服务、阿里云函数计算服务、阿里云日志服务 以及社区应用 Marbles,手把手...

阿里云官方博客
6分钟前
1
0
Double数相加后结果不准确

在我们进行两个double运算时,例如:2..0-1.1 不是想象的输出0.9,而是0.89999999999999999。其主要原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确的表示分数1/10。这就好像十...

嘴角轻扬30
14分钟前
1
0
去除移动端点击效果

移动端点击时,会有一个类似active的短暂背景淡出效果,去除该效果可使用 -webkit-tap-highlight-color: rgba(255, 0, 0, 0);

originDu
15分钟前
1
0
腾讯云与MariaDB 基金会签署战略合作,共建全球开源生态圈

本文由云+社区发表 腾讯云日前与MariaDB基金会正式签署战略合作协议,2019年,腾讯云将继续以白金会员身份为基金会的发展提供强有力的资源支持,与MariaDB全球用户和开发者一道,共建开放共赢...

腾讯云加社区
20分钟前
1
0
Kotlin的SAM(Single Abstract Method)

今天有人在群里问kotlin支持SAM的问题,其实kotlin不支持SAM,因为人家支持FP(function programing) package reactinterface Test { fun print()}class TestInterface(var...

SuShine
21分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部