Android 百问之广播

广播

Broadcast 是 Android 四大组件之一,可用于四大组件之间的通信,也可用于不同进程间的通信。(通信也就指的是数据传递)
BroadcastReceiver 广播接收者用于接收系统或其他程序(包括自己程序)发送的广播。


无序广播和有序广播

广播按照发送方式可分为两种 : 无序广播和有序广播
无序广播 : 广播发出后,所有的广播接收者都会在同一时间接收到这条广播,接收没有先后顺序,无法拦截。
有序广播 : 广播发出后,同一时刻只有一个广播接收者能够接收到,优先级高的广播接收者会先收到,当优先级高的广播接收者的 onReceiver() 方法运行结束后,广播才会继续传递,因此可以拦截广播。


广播的两种注册方式 : 静态注册和动态注册

静态注册 : 在清单文件中对广播接收者进行注册 。这种注册方式的广播接收者声明周期会伴随着整个应用,当应用安装的时候,系统自动完成注册。
动态注册 : 通过代码注册,应用不启动,无法接收到广播。
注意 : 理论上来讲,静态注册广播,即便 App 不启动也可以接收到广播 。但是大家可以想一下,我是百度系的一个 App , 启动后发个广播 。结果唤醒了一堆百度系列的 App ,这就很可怕了。因此在实际开发过程中,例如 小米 、华为 的高版本手机 (5.0 、6.0、7.0、8.0) ,在这些手机上,当退出应用或者应用没启动的时候,通过静态注册的广播接收者,根本接收不到广播。


什么时候使用静态注册

  1. 如果希望广播接受者的生命周期为 App 的声明周期,可以使用静态注册。
  2. 如果希望 App 未启动的时候就能接收到广播。(注意 高版本的系统已经不能接收到广播)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值