android学习日记之broadcast

所有文档及实例均为老师编写归纳,版权均归我的Android老师所有,如有侵权即删

Broadcast:

1.      Broadcast:广播,不区分应用进程,整个android系统共享。

2.      如何发送广播:在Android上发送广播室通过Context对象的sendBroadcast实现发送广播的功能(sendStickyBroadcast)

3.      如何接受广播:在Android上通过注册BroadcastReceiver来接受广播。

4.      如何注册BroadcastReceiver:

第一种注册方式,静态注册:

l  创建一个class对象继承BroadcastReceiver,重写onReceive方法,处理接受到的广播

l  在清单文件中声明该BroadcastReceiver,并通过intent-filter来指定,该广播接收器接受哪些广播

静态注册的特点:只要应用程序进程存在,那么就可以接受到广播(只有注册,没有注销)

 

第二种注册方式,动态注册:

l  在需要接收广播的类中,创建一个BroadcastReceiver类对象,编译器会自动要求开发人员重写onReceive方法,在其中处理收到的广播

l  在类中通过Context对象,完成注册和注销

l  动态接收器,有注册必须有注销(在activity中,注册和注销应该正好对应声明周期)

l  在注册接收器之前,要为接收器创建一个IntentFilter对象来指定接收器接收哪些广播

动态注册特点:只有开发者手动注册之后,才能接收广播,开发者注销掉之后,不能接收广播了

 

粘性广播和普通广播的区别:

1.      粘性广播发出后,常驻内存,无论何时注册reciver,都能收到广播。普通广播,必须是先注册reciver再发送广播才能收到

2.      粘性广播默认存在一个属性(replace:将相同作用的广播,用新的替换旧的)

3.      注册了replace属性(Intent.FLAG_RECEIVER_REPLACE_PENDING)后,广播的替换规则


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章