解决方案 »

  1.   

     其实你可以在Activity里面通过代码来注册广播
      

  2.   

    要放在外面,这样写<receiver android:name=".ChatActivity$MsgReceiver">
    MsgReceiver一定得定义成静态的,没有当前activity的context的。可能还需要一个空的构造方法,不记得了,呵呵
      

  3.   


    请问具体怎么注册?能给个例子吗?谢谢!
    网上好多
    http://www.cnblogs.com/qianlifeng/archive/2011/03/06/1972305.html
      

  4.   

    Android receiver的注册方式包括动态注册和静态注册。动态注册是指在需要注册receiver的类中创建BroadcastReceiver子类的实例,然后用registerReceiver()函数注册receiver和action相应的过滤器。动态注册的receiver只在程序运行过程中有效。静态注册需要在AndroidManifest注册,注册的方式类似于你写的第二种AndroidManifest,但是这种方式需要在单独的一个类中继承BroadcastReceiver,内部类是没有用的。静态注册不管你的程序是否启动都有效。你可以看看你使用的是哪种注册方式,如果你用的是动态注册,只需要把AndroidManifest中<receiver>部分删除即可;如果是静态注册,就不能用内部类。
      

  5.   

    静态注册是可以用内部类的,内部类只能用外部类的static方法或者成员,没有外部类的context。
      

  6.   

    静态注册是可以用内部类的,内部类只能用外部类的static方法或者成员,没有外部类的context。你指的是内部类使用static修饰吗?如果不是的,那么具体的是如何实现的?
      

  7.   

    不能让一个类既继承Activity 又继承广播么?
      

  8.   

    静态注册是可以用内部类的,内部类只能用外部类的static方法或者成员,没有外部类的context。你指的是内部类使用static修饰吗?如果不是的,那么具体的是如何实现的?
    是用static修饰。