美文网首页
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