广播是用来做啥的?Android系统,以及Android系统中的各个应用,包括系统应用,以及我们开发的应用,就好像是一个个的人,他们之间需要相互告知的信息,就可以通过广播来实现。
Android的广播分为两种类型,一种是标准广播(Normal broadcast),另一种是有序广播(Ordered broadcast)。
标准广播,当一条广播发出去后,所有的广播接收器都会接收到这条广播。
有序广播,当一条广播发出去后,同一时刻只有一个广播接收器会接收到这条消息,当这个广播接收器中的逻辑执行完后,这条广播继续往下传。所以,有序广播是一个广播接收器、一个广播接收器传递下去的,并且前面的广播接收器还可以截断传递的广播消息,后面的广播接收器则再接收不到这条广播消息了。
既然是广播,就有发送广播和接收广播两个步骤。发送广播可以借助我们之前学过的intent来实现,接收广播需要通过广播接收器(Broadcast Receiver)。
广播接收器对自己感兴趣的广播进行注册后,当相应的广播发出后,广播接收器就能接收到该广播,并在内部处理相关逻辑。
注册广播的方式通常有两种,一种是在代码中注册,另一种是在AndroidManifest.xml文件中注册。前者被称为动态注册,后者被称为静态注册。