我有多个活动,假设A,B,C,D都注册到同一个BroadCastReceiver。在发送广播消息的同时,活动将接收广播意图。它是按照A,B,C,D还是随机的顺序排列。
请告诉我,给我一些建议。
答案 0 :(得分:1)
您无法控制,因为系统会将这些操作分派给已注册的广播侦听器。您无法保证订购广播听众会被解雇。
除非是订购广播。来自docs:
sendOrderedBroadcast(Intent,String)方法一次向一个接收器发送广播。当每个接收器依次执行时,它可以将结果传播到下一个接收器,或者它可以完全中止广播,以便它不会被传递给其他接收器。运行的订单接收器可以使用匹配的intent-filter的 android:priority 属性进行控制;具有相同优先级的接收器将以任意顺序运行。
答案 1 :(得分:1)
有可能订购广播。这取决于你是否是一个广播。如果您正在广播使用sendOrderedBroadcast(Intent, String)
并优先接收您的接收器。如果其他人是广播公司,你必须知道他是否正在发送订单。如果他不这样做,你就没有机会,否则你就可以为接收者提供帮助。
答案 2 :(得分:1)
在android中有三种方式发送Broadcast
。即1. sendBroadcast
2. sendOrderedBroadcast
和3. sendStickyBroadcast
。在这里,您正在谈论sendBroadcast
,因此它将简单地将广播发送到已注册的广播接收器,无论广播的注册顺序如何。