【问题标题】:Class extending BroadcastReceiver can't display UI扩展 BroadcastReceiver 的类无法显示 UI
【发布时间】:2011-12-02 19:34:53
【问题描述】:

我遵循了有关如何在 Android 上接收推送通知的在线教程。在我们的服务器上设置了所有内容,并且能够接收消息并记录它。

接收消息的类称为MessageReceiver,它扩展了BroadcastReceiver。在此类的 OnReceive() 消息中,我设法正确记录了消息有效负载。

现在这个 OnReceive() 不能做任何 UI 的事情,例如,如果我想弹出一个窗口告诉用户推送已经到来,我做不到。我什至无法从此处创建通知以放入手机的工具栏中。

我该怎么办?我不想过多地更改我的消息接收代码,因为它似乎工作正常。关于如何让这个方法与 UI 交互或从其他 .java 文件调用其他方法的任何想法?我知道我总是可以创建静态方法并从这里调用它们,但是我想调用的许多方法不会像静态一样工作,因为它们与许多其他代码片段交互。

谢谢。

【问题讨论】:

    标签: android user-interface android-c2dm


    【解决方案1】:

    我认为这个链接应该回答你的问题。基本上,在 onReceive 方法中使用 Context。

    Fire Notification from Broadcast Receiver

    【讨论】:

    • 是的,你是对的。奇怪的是,我什至没有意识到它正在返回一个 Context 对象。也没有意识到这个问题已经被问到并得到了回答。谢谢一百万。
    【解决方案2】:

    您应该可以从 BroadcastReceiver 添加通知。但是,如果您想真正与 UI 交互,则应该启动一个活动。

    【讨论】:

      【解决方案3】:

      接收者不能真正影响 UI。你需要为此使用活动。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-02
        • 1970-01-01
        • 2016-09-14
        相关资源
        最近更新 更多