Android四大组件之BroadcastReceiver(一)

简介: BroadcastReceiver是Android四大组件之一,在app开发中被广泛应用到,那什么是广播呢?

BroadcastReceiver是Android四大组件之一,在app开发中被广泛应用到,那什么是广播呢?官方的解释如下:

Android 应用与 Android 系统和其他 Android 应用之间可以相互收发广播消息,这与发布-订阅设计模式相似。这些广播会在所关注的事件发生时发送。举例来说,Android 系统会在发生各种系统事件时发送广播,例如系统启动或设备开始充电时。再比如,应用可以发送自定义广播来通知其他应用它们可能感兴趣的事件(例如,一些新数据已下载)。

广播的分类:
1、按照发送的方式分类

标准广播:通过异步的方式来进行传播的,广播发出去后,所有的广播接收者几乎在同一时间收到信息,没有顺序可言,也无法被截断。

有序广播:既然是有序,那就说明有先后之分,有序广播是同步进行的,同一个时刻只有一个广播接收者能收到信息,当前的接收者处理完逻辑后,广播才会继续往下传播。

2、按照注册方法分类

动态注册:顾名思义,通过代码注册的

静态注册:通过AndroidManifest中进行注册。动态注册要求程序要运行起来才能进行注册,有一定的局限性;如果需要在app还没启动时也能收到广播,那就需要静态注册。

3、按照定义的方式分类

系统广播:Android系统内置了很多系统广播,每个系统广播都有特定的intent-filter,其中主要包括具体的action,系统广播发出后,将被相应的BroadcastReceiver接收,系统广播在系统内部当特定事件发生时,由系统自动发出。

下面举几个系统广播例子,实际上还有很多:

Intent.ACTION_AIRPLANE_MODE_CHANGED; 关闭或打开飞行模式

Intent.ACTION_BATTERY_LOW; 电池电量低

Intent.ACTION_DATE_CHANGED; 设备日期发生改变时发出此广播

相关文章
|
2月前
|
设计模式 Android开发
[Android 四大组件] --- BroadcastReceiver
[Android 四大组件] --- BroadcastReceiver
33 0
|
3月前
|
Android开发 开发者
什么是Android Jetpack,它包括哪些组件?
什么是Android Jetpack,它包括哪些组件?
42 0
|
14天前
|
存储 数据库 Android开发
构建高效安卓应用:采用Jetpack架构组件优化用户体验
【4月更文挑战第12天】 在当今快速发展的数字时代,Android 应用程序的流畅性与响应速度对用户满意度至关重要。为提高应用性能并降低维护成本,开发者需寻求先进的技术解决方案。本文将探讨如何利用 Android Jetpack 中的架构组件 — 如 LiveData、ViewModel 和 Room — 来构建高质量的安卓应用。通过具体实施案例分析,我们将展示这些组件如何协同工作以实现数据持久化、界面与逻辑分离,以及确保数据的即时更新,从而优化用户体验并提升应用的可维护性和可测试性。
|
2月前
|
数据可视化 Android开发
[Android 四大组件] --- Service
[Android 四大组件] --- Service
24 0
|
2月前
|
Android开发
[Android 四大组件] --- Activity
[Android 四大组件] --- Activity
22 1
|
2月前
|
存储 数据库 Android开发
安卓四大组件是什么?
安卓四大组件是什么?
|
3月前
|
数据库 Android开发 开发者
Android基础知识:什么是Android应用的四大组件?
Android基础知识:什么是Android应用的四大组件?
62 1