【发布时间】:2014-08-06 08:02:21
【问题描述】:
情况如下:
怎么办: 我有两个用于 GCM 消息的广播接收器,它们都具有相同的权限,并且正在侦听 REGISTRATION 和 RECEIVE 操作。 现在一个广播接收器正在监听我自己的服务器,而另一个广播接收器应该正在监听来自第三方服务器的 gcm 消息。
问题 由于它们都在收听 gcm 消息,因此每当推送通知进来时,都会调用两个接收器。如何配置接收器,使其中一个只监听我的服务器,另一个只监听第三方服务器
【问题讨论】:
-
“现在一个广播接收器正在监听我自己的服务器,而另一个广播接收器应该正在监听来自第三方服务器的 gcm 消息”——为什么?为什么没有一个
BroadcastReceiver来检查消息,然后将工作委托给应该处理它的任何人? -
是的,这是一种很好的方法,但是安全要求阻止了这样做,并且不幸的是,这不是一个选项,否则我会创建一个类并从那里委托接收者。不过谢谢你的回复!
-
是的,正如@CommonsWare 建议的那样,这可能是唯一的方法。关于为广播接收器设置优先级的任何想法?将高设置为一个,将其设置为低,可以操纵它来实现这个目标吗?
-
另外@CommonsWare 有两个 BroadcastReceiver 用于相同的操作有什么缺点?因为根据 GoogleAnalytics “每个应用程序只能指定一个广播接收器”
标签: android broadcastreceiver google-cloud-messaging android-broadcast