Android开发程序员

Broadcast Receiver

2018-09-06  本文已影响22人  微尘_8957

一、广播

1.广播定义

Broadcast Receiver是一种广泛运用的在程序之间传输信息的机制,android中我们要发送的广播内容是一个intent,这个Intent中可以携带我们要传送的数据。

2.广播的场景

A、同一个app具有多个进程的不同组件之间的消息通信

B:不同app之间的组件之间的消息通信

3.广播的种类

1.普通广播 Normal Broadcast

2.系统广播 System Broadcast

3..本地广播 Locall Broadcast

二、实现广播-receiver

1.静态注册:注册完成就一直运行

2.动态注册:跟随activity的生命周期

三、广播实现机制

1.自定义广播接收者Broadcast Receiver,并复写onRecvice()方法

2.通过Binder机制向AMS(Activity Manager Service)进行注册。

3.广播发送者通过Binder机制向AMS发送广播;

4.AMS查找 符合条件(IntentFilter/Permission等)的Broadcast Receiver,将广播发送到Broadcast Receiver(一般情况下是Activity)相应的详细循环队列中。

5.消息循环执行拿到此广播,回调Broadcast Receiver中的OnReceiver()方法。

四、LocalBroadcastManaget详解

1.应用内部传播,不担心信息泄露

2.比全局广播更加高效

3.更加安全 

核心
上一篇 下一篇

猜你喜欢

热点阅读