Android广播错误.MainActivity$MyReceiver; no empty constructor

Posted 星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android广播错误.MainActivity$MyReceiver; no empty constructor相关的知识,希望对你有一定的参考价值。

广播的定义,如果是内部类,必须为静态类

http://blog.csdn.net/chdjj/article/details/19496567

下面总结一下作为内部类的广播接收者在注册的时候需要注意的地方
1.清单文件注册广播接收者时,广播接收者的名字格式需要注意。因为是内部类,所以需要在内部类所在的类与内部类之间加上$符号:
android:name="com.example.brocastdemo.MainActivity$MyReceiver"  

2.内部类在声明时一定要写成静态内部类(class关键字前加上static)。否则会抛出类似这样的异常:

02-19 09:11:14.650: E/AndroidRuntime(1771): java.lang.RuntimeException: Unable to instantiate receiver com.example.brocastdemo.MainActivity$MyReceiver: java.lang.InstantiationException: cant instantiate class com.example.brocastdemo.MainActivity$MyReceiver; no empty constructor

 

以上是关于Android广播错误.MainActivity$MyReceiver; no empty constructor的主要内容,如果未能解决你的问题,请参考以下文章

MainActivity中的BroadcastReceiver不接收广播意图

MainActivity 中的 Android 类没有收到来自警报管理器的广播

广播接收器 - MainActivity 不是封闭类

自定义广播(BroadcastReceiver)事件 --Android开发

Android监听按键锁屏广播

android中Activity发送广播给Service?