对于具有相同Intent过滤器的接收器,决定订单的因素是什么?

时间:2014-11-06 02:20:38

标签: android android-intent intentfilter

Android问题: 如果我们有两个不同的应用程序,Receiver在单个设备上对“android.provider.Telephony.SMS_RECEIVED”做出反应,当我们收到SMS时,首先调用特定应用程序的决定因素是什么? (假设优先级值也相同)

1 个答案:

答案 0 :(得分:1)

文档中的答案似乎是您给出的示例的顺序是任意的:

  

正常广播(与Context.sendBroadcast一起发送)完全正常   异步。广播的所有接收者都以未定义的方式运行   订单,通常是同时。这更有效,但意味着   接收者不能使用结果或中止此处包含的API。

     

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

http://developer.android.com/reference/android/content/BroadcastReceiver.html

无论广播类型如何,文档都声明订单对于优先级相同的接收器是任意的。