BroadcastReceiver:广播接收者

广播的特征:

-- 有1个广播的发送方,若干个接收方-- 通过“频道”匹配发送方与接收方在Android系统中,把具有广播的通信方式的特征的数据传输方式称之为“广播”。

BroadcastReceiver是Android系统的核心组件之一。

【广播的发送与接收】1. 自定义类,继承自BroadcastReceiver

2. 在AndroidManifest.xml中注册该自定义的广播接收者

3. 当需要发送广播时,调用sendBroadcast(Intent)方法实现发送,该方法是ContextWrapper定义的方法,所以在Activity或Service中都可以直接调用该方法,在发送广播之前,应该为Intent对象配置Action属性,用于确定广播的“频道”

4. 在AndroidManifest.xml中,找到广播接收者的注册节点,添加子级节点,配置节点属性,使之匹配广播的发送方的“频道”

【广播接收者的注册方式】

1. 静态注册:在AndroidManifest.xml中注册,这种方式注册的广播接收者是常驻型的,即只要APP安装到手机上,就会开始接收广播,直至APP被卸载,而无视该APP有没有在手机上运行。

2. 动态注册:在程序的运行过程中通过调用registerReceiver(BroadcastReceiver, IntentFilter)方法注册,这种方式注册的广播接收者仅当注册后才会开始接收广播,当需要停止接收时,应该调用unregisterReceiver(BroadcastReceiver)方法注销。

【广播的种类】

1. 普通广播 / 无序广播:表现为广播的接收者们将不区分先后顺序,几乎同时收到广播,并且广播接收者们在接收广播时互不相干

2. 有序广播:表现为广播的接收者们会根据一定的先后顺序,接收到广播,类似于生活中的“传话”的特性

3. 粘滞广播 / 粘性广播:(也区分为有序和无序,无视:在Android 5.0已经声明为过期,不推荐使用)

【有序广播的接收者们的优先级】

1. 根据注册广播时,IntentFilter的priority属性决定,该属性的值是int类型的数值,数值越大,则优先级越高,即更优先接收到广播,反之,数值越小,则优先级越低,即越靠后收到广播

2. 当多个广播接收者的priority属性值相同时,动态注册的广播接收者的优先级更高

3. 当根据以上2条规则无法确定优先级时,将根据注册的先后顺序进行区分,先注册的广播接收者的优先级将更高,后注册的则更低Ps:如果是在不同的应用程序中,都使用了相同的注册方式,且priority属性值相同,如果都是使用的动态注册,可以直接区分出执行注册的先后顺序,如果都是使用静态注册,则根据项目的package属性值,按照字典排序法进行区分。

【有序广播的拦截】

在有序广播的接收者中,可以调用abortBroadcast()方法,终止有序广播向后继续传递。

【有序广播的篡改】在有序广播的接收者中,可以通过调用setResult???()方法,向广播中添加数据,优先级更低的广播接收者可以通过调用对应getResult???()获取此前被添加进的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值