优先使用广播接收器

时间:2013-11-10 09:34:39

标签: android

我们可以使用优先级

android:priority 

Context.sendBroadcast

也会产生与

不同的结果
Context.sendOrderedBroadcast

感谢

1 个答案:

答案 0 :(得分:6)

不,您不能将android: prioritysendBroadcast一起使用。正如文档所说:

android: priority 

它控制广播接收器执行接收广播消息的顺序。具有较高优先级值的那些在具有较低值的那些之前被调用。 (命令仅适用于同步消息;异步消息忽略。) 仅当您确实需要强制接收广播的特定订单,或者希望强制Android更喜欢某项活动而不是其他人时才使用此属性。

现在查看我们对sendBroadcast Normal broadcast的了解:

普通广播(与Context.sendBroadcast一起发送)完全异步(非整齐)。广播的所有接收者通常在同一时间以不确定的顺序运行。这样效率更高,但意味着接收者无法使用结果或中止此处包含的API。

适用于sendOrderedBroadcastOrdered broadcast

有序广播(与Context.sendOrderedBroadcast一起发送)一次传送到一个接收方。当每个接收器依次执行时,它可以将结果传播到下一个接收器,或者它可以完全中止广播,以便它不会传递给其他接收器。运行的订单接收器可以使用匹配的intent-filter的android:priority属性进行控制;具有相同优先级的接收器将以任意顺序运行。