Android中的广播,类似我们现实生活中,村里面那种大广播,大喇叭,一吆喝,全村
人都会得知该消息。
例如app中经常有设置夜间模式和白天模式,通过点击将所有模块进行变更,这就是在
发送广播,各模块接收广播后改变自己的颜色。如果说一个个获得那么多View的对象,
通过对象设置其color,那么,这样显得有点繁琐且麻烦了。广播同时也是为了降低耦
合,各自管理各自的控件。
下面来谈一下Android广播,实现组件和组件之间的交流,有2种注册方式:
1、动态注册(范围小,对于整个app内部)
2、静态注册(范围大,对应整个手机内部)
先来说动态注册:
对于接收者来说,分三步:
1、创建接收者
在其Activity内属性定义广播接收者receiver,并以匿名内部类的方式创建出来,实现其
中onReceive方法,用来收到广播后的响应。
2、注册接收者
在Activity中注册registerReceiver(BroadcastReceiver receiver, IntentFilter filter);
receiver就是上面创建的接收者。filter是过滤器,并不是接收所有广播,需要创建其对
象来指明接收哪一类型的广播,addaction获得发送过来的action,返回类型是
IntentFilter。
3、解注册
在广播接收完以后,需要在Activity销