美文网首页
Android 四大金刚之 Broadcast

Android 四大金刚之 Broadcast

作者: KevinChiu | 来源:发表于2017-11-15 01:18 被阅读0次

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进行监听咯

相关文章

网友评论

      本文标题:Android 四大金刚之 Broadcast

      本文链接:https://www.haomeiwen.com/subject/trezmxtx.html