有没有办法判断是否收到了 LocalBroadcastManager 广播?还是被倾听?
基本上我有一个 IntentService 监听谷歌云消息。当它收到一条消息时,我需要显示通知或提醒我的主要服务有一条新消息 - 至关重要的是我不想要两者!所以我需要知道消息是否由我的主要服务处理......
显然,它可以通过 sendOrderedBroadcast 和 BroadcastReceiver 来完成,但这对于我简单的私有进程内需求来说似乎有点过分了。
有没有办法判断是否收到了 LocalBroadcastManager 广播?还是被倾听?
基本上我有一个 IntentService 监听谷歌云消息。当它收到一条消息时,我需要显示通知或提醒我的主要服务有一条新消息 - 至关重要的是我不想要两者!所以我需要知道消息是否由我的主要服务处理......
显然,它可以通过 sendOrderedBroadcast 和 BroadcastReceiver 来完成,但这对于我简单的私有进程内需求来说似乎有点过分了。
有没有办法判断是否收到了 LocalBroadcastManager 广播?还是被倾听?
sendBroadcast()
true
如果有 1+ 个接收者则返回,false
否则返回。这没有记录,但这是基于当前的实现。我提出了一个问题以得到记录。
因此,您IntentService
可以sendBroadcast()
尝试向您的 running 发送消息Service
(如果存在)。如果是,sendBroadcast()
应该返回true
,并且IntentService
知道应该在那里处理消息。如果sendBroadcast()
回报false
,你可以提高Notification
。