四大组件

广播接收者

1.本地广播和全局广播的差别

BroadcastReceiver是针对应用间、应用与系统间、应用内部进行通信的一种方式
LocalBroadcastReceiver仅在自己的应用内发送接收广播,也就是只有自己的应用能收到,数据更加安全广播只在这个程序里,而且效率更高。

2.使用

2.1BroadcastReceiver 使用

1.制作intent(可以携带参数)
2.使用sendBroadcast()传入intent;
3.制作广播接收器类继承BroadcastReceiver重写onReceive方法(或者可以匿名内部类啥的)
4.在java中(动态注册)或者直接在Manifest中注册广播接收器(静态注册)使用registerReceiver()传入接收器和intentFilter
5.取消注册可以在OnDestroy()函数中,unregisterReceiver()传入接收器

2.2LocalBroadcastReceiver 使用

LocalBroadcastReceiver不能静态注册,只能采用动态注册的方式。
在发送和注册的时候采用,LocalBroadcastManager的sendBroadcast方法和registerReceiver方法

3.生命周期

3.1 动态注册的生命周期,在activity生命周期内,应在activity销毁前注销广播

3.2 静态注册的生命周期,全局。但是只有onReceive的10s


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!