需要注意的是Broadcast Receiver是小数据小规模的传送,如果数据量较大且数据传送较频繁的时候我们就不能使用Broadcast Receiver,否则会很卡
broadcast的建立
和其他之前讲过的组件,也是先建立一个类,然后在根据此在mainifest.xml中加入这个broadcast,就可以了,并重写其中的onCreate的方法,以便接受到信息后继续处理
broadcast的动态建立和销毁
我们之前讲过的所有的组件都是建立好,直接加入到程序中,一直存在,然后在通过activity进行调用或着传输数据等,现在我们不让他在程序已执行便创建,而是在我们想要建立的时候在让他生成,所以我们不用再mainifest中加入哪个broadcast
1.registerReceiver(mybc, new IntentFilter(myBC.ACTION));用这个函数可以建一个broadcast,其中,第一个参数是一个broadcast的实例对象的名字,后一个是这个扩展自broadcast类的action,这个可以写,也可以是系统默认的。
2.unregisterReceiver(mybc);用这个函数可以将创建的broadcast销毁,销毁的就是建的这个mybc对象
broadcast的数据传送
1.最基本的方式new Intent(mainactivity.this,myBC.class),这种智能是建立一个用mainifest建立进来的broadcast,即程序一建立便确立的那种,然后可以通过intent来传递数据
2.更高级的方式,就是用到刚才提到过的action的方法,new Inten(myBC.action)来建立这样一个桥梁,能够把动态创建的broadcast建立起来,用来传递数据