【问题标题】:How do I keep a user permanently online with Smack on Android?如何在 Android 上使用 Smack 让用户永久在线?
【发布时间】:2013-09-04 12:28:25
【问题描述】:

好的,这是我被困了这么多天的问题。

我正在 XMPP 客户端 - SMACK 的帮助下开发一个简单的聊天应用程序。 从一个朋友到另一个朋友的正常聊天过程对我来说一切正常,还添加了通知部分。

我无法做的是,如果我强行关闭我的应用程序,整个 SMACK 会话就会停止。

我无法将消息发送给已关闭应用程序的用户。 现在,我如何保持用户的状态永久在线,这样即使他关闭了应用程序,他也可以接收消息。

【问题讨论】:

    标签: android xmpp smack asmack


    【解决方案1】:

    你不能。如果应用程序关闭,则用户不再在线并且服务器知道这一点。您仍然可以向他们发送消息,但存储离线消息是服务器的工作,但这意味着必须对服务器进行配置。

    一旦用户再次连接就可以检索它们。

    【讨论】:

      【解决方案2】:

      这里有一些解决问题的建议

      尝试实施:

      1. 每 x 分钟连接一次的长时间运行的服务(轮询解决方案)我个人建议不要这样做,因为它会消耗网络和电池。

      2. Implement GCM in your app and server。 它在发送消息并连接到服务器以检索有效负载时唤醒应用程序。 (事实上​​,通过 C2DM 使用 GCM,您可以通过 google 发送有效负载,甚至不必连接,但我避开了这一点)

      【讨论】:

        猜你喜欢
        • 2013-11-08
        • 2016-01-24
        • 1970-01-01
        • 1970-01-01
        • 2015-04-12
        • 1970-01-01
        • 2014-01-26
        • 1970-01-01
        • 2015-04-18
        相关资源
        最近更新 更多