广播(Broadcast)机制用于进程/线程间通信,广播分为广播发送和广播接收两个过程,其中广播接收者BroadcastReceiver便是Android四大组件之一。
BroadcastReceiver分为两类:
静态广播接收者
:通过AndroidManifest.xml
的标签来申明的BroadcastReceiver。动态广播接收者
:通过AMS.registerReceiver()
方式注册的BroadcastReceiver,动态注册更为灵活,可在不需要时通过unregisterReceiver()
取消注册。
从广播发送方式可分为三类:
普通广播
:通过Context.sendBroadcast()发送,可并行处理有序广播
:通过Context.sendOrderedBroadcast()发送,串行处理Sticky广播
:通过Context.sendStickyBroadcast()发送,发出的广播会一直滞留(等待),以便有人注册这则广播消息后能尽快的收到这条广播。
Android 中的 Broadcast 实际底层使用Binder机制。