一、内部机制
1,自定义广播接收者BroadcastReceiver,并复写onReceiver() 方法;
2,通过binder向AMS (Activity Manager Service)进行注册;
3,广播发送者通过binder 向AMS发送广播;
4,AMS 查找符合相应条件的BroadcastReceiver,将广播发送到BroadcastReceiver相应的消息循环队列中;
5,消息队列拿到此广播回调BroadcastReceiver的onReceiver() 方法;
二、LocalBroadcastManager
使用LocalBroadcastManager有如下好处:
发送的广播只会在自己App内传播,不会泄露给其他App,确保隐私数据不会泄露
其他App也无法向你的App发送该广播,不用担心其他App会来搞破坏
比系统全局广播更加高效
源码解析