所有应用程序是否同时接收BroadcastReceiver?

时间:2014-01-28 07:09:36

标签: android broadcastreceiver android-broadcast

今天我注意到,当网络连接发生变化时,收到的第一个通知将来自whatsApp。在环聊或Skype通知之前,来自应用程序的应用程序的通知到了。所以有一个优先级列表,根据女巫BroadcastReceiver接收消息。我在环聊之前安装了whatsApp,Skype为whatsApp提供了一个优势,即它在其他两个之前接收消息。或者仅仅是因为whatsApp服务比其他两个服务更快?

2 个答案:

答案 0 :(得分:1)

是的,似乎WhatsApp开发人员可能已经选择了更高的优先级来接收消息。

请注意,这不一定是优势。 WhatsApp可能无意中拾取了背景消息(在短信消息的情况下),这些消息是为了让其他应用程序在它们向下流向较低优先级广播接收器之前进行拾取和删除。

话虽这么说,但这并不意味着速度和延迟不会受到设备本身之外的某些其他点的影响。例如,Facebook公布了这样一个事实:它正在向一些美国手机运营商支付费用,以便在自己的网站上安装自己的Facebook服务器,并在自己的手机网络上给予他们更高的优先权。

答案 1 :(得分:0)

是的,如果BroadcastReceiver带有Intent过滤器,那么它们都将获得相同的事件。但是,您可以使用android:priority以优先级为基础执行特定的BroadcastReceiver。