Broadcast

Broadcast

  • BroadcastReceiver

    • 关键方法

      • onReceive()
    • 注册

      • 动态注册

        • 创建IntentFilter

        • 实例化BroadcastReceiver

        • 注册广播:registerReceiver()

      • 静态注册

        • AndroidManifest声明receiver

        • receiver标签内声明 intent-filter

        • intent-filter标签内声明action

    • 注意点

      • 接收某些广播需要声明权限

      • Receiver中不允许开启线程

        • 不要在onReceiver方法中处理耗时操作

        • BroadcastReceiver更多的是承担一个中转人的角色,比如开启其他Service处理,或者简单显示Natification 处理,或者简单显示Natification等

      • Android 8.0后某些特殊的广播静态注册无效

        • 比如高频的系统广播,屏幕开关,电量变化…
  • 核心点

    • Intent 携带Action 和数据

    • 发送方发送Intent

    • 接收方接收Intent

  • sendBroadcast

    • 标准广播

      • 发送方法

        • 1 .创建Intent,传入自定义Action

        • 2.sendBroadcast()发送广播

        • 3.有序:setPriority

    • 有序广播

      • sendOrderedBroadcast()
        • 拦截广播:abortBroadcast();
    • 广播本地传输

      • localBroadcastManager = LocalBroadcastManager.getInstance(context)

      • LocalBroadcastManager.registerReceiver

上一篇:UE4中Static中使用WorldContextObject


下一篇:C/C++类型转换