【问题标题】:Redirect BroadcastReceiver onReceive()重定向广播接收器 onReceive()
【发布时间】:2010-10-13 23:42:51
【问题描述】:

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

我设置了两个广播接收器来监听相同的意图。它在开发中有效,但在生产中,只有在清单中注册的第一个获得意图。

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

编辑 - 我从来不知道如何通用地做到这一点,但我想出了一个解决方案。我把它写在我的博客上,很长,insert shameless plug to my answer here

【问题讨论】:

    标签: android android-intent broadcastreceiver


    【解决方案1】:

    【讨论】:

    • 很遗憾我没有发送原始广播。如果我从注册的接收者那里这样做,我认为这可能会导致无限循环,不是吗?
    • 哦,我错了,我以为是你发的。好吧,我看到了两个问题。 1.) 为什么你有 2 个接收者在听同一个意图? 2.) 你确定这不是你的代码中的一个错误,以至于你的第二个接收者没有得到意图吗?
    • 是的,我正在拦截 Google Analytics 的安装意图广播。当我通过广播自己的意图来测试它时,两个接收者都得到了它。然而,当应用程序上线时,只有谷歌的接收者才能得到它。我已通过仅注册自己的方法并手动调用 Google 的 onReceive() 方法来解决此问题。
    • 这并没有真正回答我的具体问题,但一般来说这是个好建议,所以我会接受。将编辑问题以链接到我对这个特定问题的最终解决方案。
    猜你喜欢
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多