Android 对广播接收机使用优先级
我们可以使用优先级吗Android 对广播接收机使用优先级,android,Android,我们可以使用优先级吗 android:priority 与 或者,它将给出不同于的结果 Context.sendOrderedBroadcast 谢谢不,您不能将android:priority与sendBroadcast一起使用。正如文件所说: android: priority 它控制执行广播接收器以接收广播消息的顺序。具有较高优先级的值在具有较低优先级的值之前被调用。(顺序仅适用于同步消息;异步消息忽略该顺序) 仅当您确实需要强制规定接收广播的特定顺序,或者想要强制Android
android:priority
与
或者,它将给出不同于的结果
Context.sendOrderedBroadcast
谢谢不,您不能将
android:priority
与sendBroadcast
一起使用。正如文件所说:
android: priority
它控制执行广播接收器以接收广播消息的顺序。具有较高优先级的值在具有较低优先级的值之前被调用。(顺序仅适用于同步消息;异步消息忽略该顺序)
仅当您确实需要强制规定接收广播的特定顺序,或者想要强制Android选择一种活动而不是其他活动时,才使用此属性
现在看看我们对sendBroadcast
的了解,这是一种正常广播
:
正常广播(与上下文一起发送。sendBroadcast
)是完全异步(不有序)。广播的所有接收器通常同时以未定义的顺序运行。这更有效,但意味着接收器不能使用此处包含的结果或中止API
对于sendOrderedBroadcast
,这是一种有序广播
:
有序广播(通过
上下文发送。sendOrderedBroadcast
)一次发送到一个接收器。当每个接收器依次执行时,它可以将结果传播到下一个接收器,也可以完全中止广播,使其不会传递给其他接收器。可以使用匹配意图过滤器的android:priority
属性控制运行中的订单接收者;具有相同优先级的接收器将以任意顺序运行。虽然我想我已经回答了这个问题,但我不介意@commonware对此发表意见。.当将优先级与sendBroadcast一起使用时,接收者在清单文件中被调用的顺序。更改顺序会更改广播接收者的调用顺序。这是偶然的,还是真的遵循了这样的逻辑。是的,它确实遵循这样的逻辑。如果您觉得有帮助,接受答案将非常好:)我已经用android:priority
在清单中的receiver标签中,即使我使用sendBroadcast
方法发送广播,它也在工作。
android: priority