有没有办法判断是否收到LocalBroadcastManager广播?还是正在倾听?有没有办法判断是否收到LocalBroadcastManager广播?
基本上我有一个IntentService侦听Google Cloud Messages。当它得到一个我需要显示通知或提醒我的主要服务,有一个新的消息 - 关键是我不想两个!所以,我需要知道消息是否是由我的主要业务涉及...
显然它可以与sendOrderedBroadcast和广播接收器来完成,但似乎矫枉过正我简单的私人过程内的需求。
有没有办法判断是否收到LocalBroadcastManager广播?还是正在倾听?有没有办法判断是否收到LocalBroadcastManager广播?
基本上我有一个IntentService侦听Google Cloud Messages。当它得到一个我需要显示通知或提醒我的主要服务,有一个新的消息 - 关键是我不想两个!所以,我需要知道消息是否是由我的主要业务涉及...
显然它可以与sendOrderedBroadcast和广播接收器来完成,但似乎矫枉过正我简单的私人过程内的需求。
有没有办法判断是否收到LocalBroadcastManager广播?还是正在倾听?
sendBroadcast()
回报true
如果有1 +接收器,false
否则。这没有记录,但是这是基于当前的实施。我提交了an issue to get that documented。
因此,您的IntentService
可能会使用sendBroadcast()
尝试向您的邮件运行Service
(如果存在)发送邮件。如果是这样,sendBroadcast()
应返回true
,并且IntentService
知道该消息应该在那里处理。如果sendBroadcast()
返回false
,则可以提高Notification
。
DUH!我甚至看到布尔结果,只是认为这意味着广播很好......广播。谢谢。 – ostergaard
这真是一个'启示'和解脱,***我的猜测是!谢谢@CommonsWare! –
为什么你首先需要两项服务? – CommonsWare
@CommonsWare - 因为它们具有大量不同的目的和生命周期,因此它改进了我的应用程序体系结构以将它们分开。一个是IntentService,另一个是绑定服务。 – ostergaard