Broadcast:
是一种广泛运用的在应用程序之间传输信息的机制。
Broadcast分为两种:
1、普通广播 normal broadcast:
完全异步的,理论上可以在同一时刻被所有的接收者接收到,优点是传递效率比有序广播消息更高,缺点是不能将处理结果传递给下一个接收者。
2、有序广播 ordered broadcast:
按照接收者声明的权限高低,依次接收广播。接收者可以终止(abortBroadcast())有序广播的传输。
权限在配置文件中声明时配置,<intent-filter>的android:priority属性中设置,[-1000,1000]
Context中有发送广播的方法:
sendBroadcast(Intent intent)
sendBroadcast(Intent intent, String receiverPermission) // 可以指定接收广播需要的权限
sendBroadcast(Intent intent, String receiverPermission, int appOp) // AppOpsManager 权限管理类
sendBroadcastAsUser(Intent intent, UserHandle user)
<pre name="code" class="java">sendBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission)
// 发送有序广播
<span style="font-size:18px;">sendOrderedBroadcast(</span>Intent intent) //其余方法与法发送有序广播差不多,大家可以去源码看<span style="font-size:18px;"> </span>
BroadcastReceiver:
是对发送出来的 Broadcast进行过滤接受并响应的一类组件。
getResultData(),
setResultData()
Android 中BroadcastReceiver组件详解
我写博客只是一个梳理知识的过程,所以很多别人已经写了的东西会加上引用,只写自己想记住的。