所有文档及实例均为老师编写归纳,版权均归我的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)后,广播的替换规则