2010-10-13 63 views
0

将收到的Intent重定向到另一个BroadcastReceiver的正确方法是什么(如果有的话)?重定向BroadcastReceiver onReceive()

我有两个BroadcastReceivers设置为听相同的意图。它在开发中工作,但在生产中,只有在清单中注册的第一个才能获得意图。

我可以直接调用其他人的onReceive()方法,传递相同的上下文和意图吗?一旦第一个接收器完成它,有没有更好的方式来传递意图?

编辑 - 我从来没有想出如何做到这一般,但我想出了一个解决方案。我把它写在我的博客上,它很长,所以insert shameless plug to my answer here

回答

1
+0

可惜我不是发送原始广播。如果我从注册的接收者那里做到这一点,我认为这可能导致无限循环,不是吗? – DougW 2010-10-14 00:05:39

+0

哦,我错了,我以为你是在发送它。那么我看到两个问题。 1.)为什么你有两个接收器听同样的意图? 2.)你确定这不是你的代码中的错误,使得你的第二个接收器没有达到目的? – Falmarri 2010-10-14 17:54:28

+0

是的,我拦截了Google Analytics的安装意向广播。当我通过广播我自己的意图来测试它时,两个接收器都可以得到它。然而,当应用程序上线时,只有Google的接收器才能获得它。我通过只注册自己的方法解决了这个问题,并手动调用了Google的onReceive()方法。 – DougW 2010-10-27 02:40:28

相关问题