Android第一行代码——快速入门 Kotlin 编程(6.1 广播机制简介)

本文介绍了Android中的广播机制,包括标准广播的异步执行和无序特性,以及有序广播的同步执行和优先级控制。重点在于理解如何使用BroadcastReceiver接收系统广播并区分两种类型的广播工作流程。
摘要由CSDN通过智能技术生成

6.1        广播机制简介

        为什么说 Android 中的广播机制更加灵活呢?这是因为 Android 中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会收到自己所关心的广播内容,这些广播可能是来自 于系统的,也可能是来自于其他应用程序的。Android 提供了一套完整的 API,允许应用程序自由地发送和接收广播。发送广播的方法其实之前稍微提到过,如果你记性好的话,可能还会有印象,就是借助我们第 3 章学过的 Intent 。而接收广播的方法则需要引入一个新的概念—— BroadcastReceiver 。

        BroadcastReceiver 的具体用法将会在下一节介绍,这里我们先来了解一下广播的类型。 Android 中的广播主要可以分为两种类型:标准广播和有序广播。

  • 标准广播(normal broadcasts )是一种完全异步执行的广播,在广播发出之后,所有的 BroadcastReceiver 几乎会在同一时刻收到这条广播消息,因此它们之间没有任何先后顺序可言。这种广播的效率会比较高,但同时也意味着它是无法被截断的。标准广播的工作 流程如  图6.1 所示。
图6.1        标准广播工作示意图
  • 有序广播(ordered broadcasts )则是一种同步执行的广播,在广播发出之后,同一时刻只会有一个 BroadcastReceiver 能够收到这条广播消息,当这个 BroadcastReceiver 中的逻辑执行完毕后,广播才会继续传递。所以此时的 BroadcastReceiver 是有先后顺序的, 优先级高的BroadcastReceiver 就可以先收到广播消息,并且前面的 BroadcastReceiver 还可以截断正在传递的广播,这样后面的 BroadcastReceiver 就无法收到广播消息了。有序广播的工作流程如图6.2 所示。 
图6.2        有序广播工作示意图

        掌握了这些基本概念后,我们就可以来学习广播的用法了,首先从接收系统广播开始吧。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值