android - 如何从Openfire获取群聊的离线消息

标签 android xmpp chat openfire groupchat

当我的用户登录并加入聊天室时,xmpp 是否有任何方式让我收到 MultiUserChat 的离线消息

我想实现群聊,比如WhatsApp,有没有其他实现方式请建议

提前致谢

最佳答案

至少在 ejjaberd 中,当您进入聊天组时,您必须输入您的最后一个时间戳,因为您将从那一刻起收到消息。

保存上一条消息的时间戳,以及您进入房间的时间,如下所示:

 MultiUserChat muc = new MultiUserChat(mConnection, room_name);
                Log.d(TAG, "JOINING => " + room_name);

                DiscussionHistory history = new DiscussionHistory();
                if (mLastMessageDate == null)
                    history.setMaxStanzas(300);
                else
                    history.setSince(mLastMessageDate); //timestamp from your last message

 muc.join(mNickName, null, history,
                            SmackConfiguration.getDefaultPacketReplyTimeout());

希望对你有帮助

关于android - 如何从Openfire获取群聊的离线消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25947985/

相关文章:

java - 二进制 XML 文件行错误膨胀类 fragment

Android View 的getTop()、getLeft()、getX()、getY()、getWidth()、getHeight()方法

xmpp - 连接到 XMPP 服务器时 SASL 授权失败

jquery - 如何使用我的网络服务器而不是本地主机来进行消息聊天应用程序?

delphi - 如何在两台计算机之间发送字符串?

Android studio 检查与 API < 19 的兼容性

android - 在安卓中等待

android - 如何使用 smack 4.1 的 XEP 198(流管理)?

node.js - 未收到 Firebase 云消息传递收据

javascript - PHP 文本框重置