广播接收者的分类,两种分法:
一、分为全局广播和本地广播
二、分为有序广播和无序广播
广播接收者的注册,动态注册和静态注册
第一行代码划线笔记:
1、发送广播的方法:借助Intent
2、动态注册的广播接收器可以自由的控制注册与注销,在灵活性方面有很大的优势,但是它也存在着一个缺点,即必须要在程序启动之后才能接收到广播,因为注册的逻辑是写在onCreat()方法中的。
3、需要注意的是,不要在onReceive()方法中添加过多的逻辑或者进行任何的耗时操作,因为在广播接收器中是不允许开启线程的,当onReceive()方法运行了较长时间而没有结束时,程序就会报错。因此广播接收器更多的是扮演一种打开程序其他组件的角色,比如创建一条状态栏通知,或者启动一个服务等。
4、广播是一种可以跨进程的通信方式
5、为了能够解决广播的安全性问题,Android引入了一套本地广播机制,使用这个机制发出的广播只能够在应用程序的内部进行传递,并且广播接收器也只能接收来自本应用程序发出的广播。 LocalBroadcastManager
6、本地广播是无法通过静态注册的方式来接收的
7、发送本地广播比发送全局广播更加高效
8、实现强制下线功能:当我们被通知需要强制下线时,可能处于任何一个界面,难道需要在每个界面上都编写一个弹出对话框的逻辑?强制下线功能需要先关闭所有的活动,然后回到登录界面。应该在哪里创建广播接收器?答案很明显,只需要在BaseActivity中动态注册一个广播接收器就可以了,因为所有的活动都是继承自BaseActivity的。
网友评论