8

有没有办法判断是否收到了 LocalBroadcastManager 广播?还是被倾听?

基本上我有一个 IntentService 监听谷歌云消息。当它收到一条消息时,我需要显示通知或提醒我的主要服务有一条新消息 - 至关重要的是我不想要两者!所以我需要知道消息是否由我的主要服务处理......

显然,它可以通过 sendOrderedBroadcast 和 BroadcastReceiver 来完成,但这对于我简单的私有进程内需求来说似乎有点过分了。

4

1 回答 1

29

有没有办法判断是否收到了 LocalBroadcastManager 广播?还是被倾听?

sendBroadcast()true如果有 1+ 个接收者则返回,false否则返回。这没有记录,但这是基于当前的实现。我提出了一个问题以得到记录

因此,您IntentService可以sendBroadcast()尝试向您的 running 发送消息Service(如果存在)。如果是,sendBroadcast()应该返回true,并且IntentService知道应该在那里处理消息。如果sendBroadcast()回报false,你可以提高Notification

于 2013-09-01T14:14:54.310 回答