Android问题: 如果我们有两个不同的应用程序,Receiver在单个设备上对“android.provider.Telephony.SMS_RECEIVED”做出反应,当我们收到SMS时,首先调用特定应用程序的决定因素是什么? (假设优先级值也相同)
答案 0 :(得分:1)
文档中的答案似乎是您给出的示例的顺序是任意的:
正常广播(与Context.sendBroadcast一起发送)完全正常 异步。广播的所有接收者都以未定义的方式运行 订单,通常是同时。这更有效,但意味着 接收者不能使用结果或中止此处包含的API。
有序广播(与Context.sendOrderedBroadcast一起发送)是 一次送到一个接收器。当每个接收器执行时 转,它可以将结果传播到下一个接收器,或者它可以 完全中止广播,以便它不会被传递给其他人 接收器。运行的订单接收器可以用 android:匹配的intent-filter的priority属性;的接收器 具有相同优先级的将以任意顺序运行。
http://developer.android.com/reference/android/content/BroadcastReceiver.html
无论广播类型如何,文档都声明订单对于优先级相同的接收器是任意的。