Android 四大金刚之 Broadcast

Broadcast - 广播

目录

  • 机制

机制

应用程序可以监听或者发送 Broadcast 进行轻量级的沟通。

广播的分类

  • 标准广播 - 一条广播多个接收器几乎同时收到
  • 有序广播 - 一条广播按照优先级接收,可以被截断

接收广播(BroadcastReceiver)

  • 通过BroadcastReceiver进行接收广播。
  • 动态注册或者静态注册BroadcastReceiver

动态注册:灵活,只有app启动后才会开始接收广播
静态注册:app没有启动都会进行监听

例子:

  • 动态注册监听网络变化
  • 静态注册监听系统开机完毕,完成开机自启

源码地址

源码包括3次更新:

  1. 动态注册Receiver
  2. 静态注册Receiver用于开机自启应用
  3. 自定义广播的发送与接受

有序广播
有序广播的用法和标准广播用法差不多。

  1. sendOrderedBroadcast(intent,权限相关的字符串可以为null)用于发送广播
  2. 通过Mainfest文件注册Receiver并且给予对应的接收广播的优先级android:priority="100",值越大,优先级越高。
  3. 优先级高的Receiver收到广播后可以通过abortBroadcast()来截断广播。

本地广播
顾名思义,广播只能在自身的app中内部传递。
使用:

// 获取LocalBroadcastManager实例并发送广播
private LocalBroadcastManager lb = LocalBroadcastManager().getInstance(this)
Intent intent = new Intent("action")
lb.sendBroadcast(intent)
// 后面就是动态注册Receiver进行监听咯
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容