Android学习笔记四:Broadcast

Broadcast 广播机制

广播顾名思义是一种发送消息的工具,Android通过Intent发送广播消息,通过Broadcast Receiver接收消息(类似CAN总线,每个节点可以自由的发送帧,也可以自由的配置过滤器接收想要监听的帧)。

接收广播

接收广播需要使用广播接收器,而广播接收器就是一个继承BroadcastReceiver的类,类中的onReceive方法用于响应指定的广播消息。
广播的注册方式分为动态注册和静态注册:
动态注册就是通过内部类的方式创建接收器,在onCreate方法中配置过滤器。
静态注册就是在外部新建接收器类,在Manifest文件中配置过滤器。

发送广播

广播分为标准广播(Normal Broadcast)播和有序广播(Ordered Broadcast):


标准广播

有序广播

有序广播通过配置优先级决定先后顺序。

内容通过Intent传递,sendBroadcast或sendOrderedBroadcast方法发送。

本地广播

若要将广播的接收和发送限定在本app内,则需要使用本地广播。使用LocalBroadcastManager中的同名方法即可实现。本地广播只能通过动态方式注册。

书中未提到的

Android8.0以后出于性能的考虑对静态接收器的使用做了限制,因此书中全局广播的部分实验无法实现,细节参考本文

本章的内容相对简单,实践部分则相对复杂,代码更新在我的git仓库

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,551评论 1 92
  • 2.1 Activity 2.1.1 Activity的生命周期全面分析 典型情况下的生命周期:在用户参与的情况下...
    AndroidMaster阅读 3,102评论 0 8
  • 1.引言 在《第四章 Android 四大应用组件》中,简单介绍了下四大组件的成员,属性,生命周期等。这里主要是介...
    忆念成风阅读 1,500评论 1 10
  • 我是非常喜欢吃草莓的。这倒不完全是因为草莓的形状和颜色看着就惹人喜爱,也不完全是因为草莓的味道闻着就诱人流口水。...
    蓝之岭阅读 999评论 1 2