message-android.util.AndroidRuntimeException

问题描述

android.util.AndroidRuntimeException

错误代码是:
07-07 08:34:19.693 11797-11809 E/JavaBinder﹕
*** Uncaught remote exception! (Exceptions are not yet supported
across processes.)
android.util.AndroidRuntimeException: { what=102 when=-22ms
obj=android.os.BinderProxy@4218d598 } This message is already in
use.

我现在不能很肯定是哪里的消息使用错误,请大神们帮我看看这段代码有没有错误

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_alarm);
        ctext = this;
        CfgLooper = Looper.myLooper();
        CfgHandler = new CfgHandler(CfgLooper);
        show_alarm();
    }

  public  class CfgHandler extends Handler {
          public  CfgHandler(Looper looper) {
              super(looper);
          }
          public void handleMessage(Message msg) {
                    switch (msg.what) {
                        case comm_frame.SYS_CFG_RSP_FRM:
                            sys_cfg_rsp sys_cfg_rsp_info;
                            sys_cfg_rsp_info = (sys_cfg_rsp) msg.obj;
                            if (sys_cfg_rsp_info.child_type == comm_frame.SYS_CFG_TYPE_ALARM) {
                                new AlertDialog.Builder(ctext).setTitle("完成")
                                        .setMessage("设置成功")
                                        .setPositiveButton("确定", null).show();
                            }
                            break;
                        case comm_frame.EVENT_RSP_FRM:
                            event_info_rsp_class event_info_rsp;
                            event_info_rsp = (event_info_rsp_class) msg.obj;
                            comm_frame.invokeLongTimeToast(event_info_rsp, ctext);
                            break;
                    }
          }
     }

show_alarm()是4个check_box。
请教下是不是这段代码有错误呢?

解决方案

应该在发消息的代码中,每次发消息的时候,都要new 一个 Message对象,或者调用hander的obtainMessage

解决方案二:

http://blog.csdn.net/songjunyan/article/details/41803131

解决方案三:

是不是把switch里面改成这样

if(msg.what==comm_frame.SYS_CFG_RSP_FRM){
                  Message newMsg1 = AlarmCfgHandler.obtainMessage();
                  newMsg1.what = msg.what;
                  newMsg1.obj = msg.obj;
                  sys_cfg_rsp sys_cfg_rsp_info;
                  sys_cfg_rsp_info = (sys_cfg_rsp) newMsg1.obj;
                  if (sys_cfg_rsp_info.child_type == comm_frame.SYS_CFG_TYPE_ALARM) {

                      new AlertDialog.Builder(ctext).setTitle("完成")
                              .setMessage("报警设置成功")
                              .setPositiveButton("确定", null).show();
                  }
              }
 if(msg.what==comm_frame.EVENT_RSP_FRM){
                                        Message newMsg = CfgHandler.obtainMessage();
                    newMsg.what = msg.what;
                    newMsg.obj = msg.obj;
                  event_info_rsp_class event_info_rsp;
                  event_info_rsp = (event_info_rsp_class) newMsg.obj;
                  comm_frame.invokeLongTimeToast(event_info_rsp, ctext);
      }       

时间: 2024-11-05 16:32:42

message-android.util.AndroidRuntimeException的相关文章

Android开发笔记之:消息循环与Looper的详解_Android

Understanding LooperLooper是用于给一个线程添加一个消息队列(MessageQueue),并且循环等待,当有消息时会唤起线程来处理消息的一个工具,直到线程结束为止.通常情况下不会用到Looper,因为对于Activity,Service等系统组件,Frameworks已经为我们初始化好了线程(俗称的UI线程或主线程),在其内含有一个Looper,和由Looper创建的消息队列,所以主线程会一直运行,处理用户事件,直到某些事件(BACK)退出.如果,我们需要新建一个线程,并

Android开发笔记之:消息循环与Looper的详解

Understanding Looper Looper是用于给一个线程添加一个消息队列(MessageQueue),并且循环等待,当有消息时会唤起线程来处理消息的一个工具,直到线程结束为止.通常情况下不会用到Looper,因为对于Activity,Service等系统组件,Frameworks已经为我们初始化好了线程(俗称的UI线程或主线程),在其内含有一个Looper,和由Looper创建的消息队列,所以主线程会一直运行,处理用户事件,直到某些事件(BACK)退出. 如果,我们需要新建一个线程

android开发-android自定义标题栏总是出错

问题描述 android自定义标题栏总是出错 采用网上说的自定义标题栏的方法: requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar); 只要指定了Window.FEATURE_CUSTOM_TITLE则会在setContentView出错,

Context 都没弄明白,还怎么做Android开发?

Activity mActivity =new Activity() 作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明.Android程序不像Java程序一样,随便创建一个类,写个main()方法就能运行,Android应用模型是基于组件的应用设计模式,组件的运行要有一个完整的Android工程环境,在这个环境下,Activity

Android 自定义dialog添加文字超链接,点击报错无法实现跳转

问题描述 Android 自定义dialog添加文字超链接,点击报错无法实现跳转 自定义dialog,添加文字超链接,点击超链接报错,同样方法,在activity中就能实现,什么原因?? 解决方案 Intent中加入这个试试: intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 解决方案二: 报错是报的什么错,, 解决方案三: 抓取log如下 01-01 02:49:07.928: E/InputEventReceiver(3774): Excepti

Android 基于百度语音的语音交互功能(推荐)_Android

项目里面用到了语音唤醒功能,前面一直在用讯飞的语音识别,本来打算也是直接用讯飞的语音唤醒,但是讯飞的语音唤醒要收费,试用版只有35天有效期.只好改用百度语音,百度语音所有功能免费,功能也比较简单实用,包括语音识别,语音合成和语音唤醒,正好可以组成一套完整的语音交互功能. 效果图: 首先是语音唤醒功能,说出关键词即可叫语音识别,唤醒成功会有语音提示,这里采用了百度语音的合成功能.然后百度语音识别会根据wifi情况自动切换在线或者离线识别,但是离线识别只能识别已经导入的关键词,而且离线第一次识别需要

安卓开发requestWindowFeature问题

问题描述 安卓开发requestWindowFeature问题 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_PROGRESS); setProgressBarVisibility(true); setContentView(R.layout.activity_main); getWindow(

requestFeature() must be called before adding content错误

0-04 15:15:36.218: E/AndroidRuntime(5176): FATAL EXCEPTION: main 10-04 15:15:36.218: E/AndroidRuntime(5176): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.solar/com.solar.SetupInfoActivity}: android.util.AndroidRuntimeExcepti

textview-Android下,ListView下面的TextView包含超链接点击报错,求高人解决下,谢谢

问题描述 Android下,ListView下面的TextView包含超链接点击报错,求高人解决下,谢谢 Listview 下面的TextView包含了超链接,点击之后报错, 源码是: TextView tv_1=(TextView) view.findViewById(R.id.txt_ask); tv_1.setText(Html.fromHtml(str[position])); tv_1.setMovementMethod(LinkMovementMethod.getInstance()