如何获得Openfire的聊天记录Android设备上使用aSmack?(How to get Op

2019-07-18 19:04发布

我开发一个聊天应用,在用户将与领域专家的小组成员之一聊天。 用户使用我的Android应用和领域专家使用的火花网络聊天。 我做的Openfire安装和星火网络设置和开发的Android应用聊天与aSmack库。 我的应用程序的用户能够与领域专家聊天。 到目前为止,这是罚款。 现在我想的用户显示聊天记录与Android设备上的任何或特定的专家。 网络冲浪之后,我能够安装监控服务插件我明火服务器,它显示在管理方面的用户聊天记录,如下图所示。

现在我想展示这段历史在我的Android应用程序,我怎样才能做到这一点。 任何建议,非常欢迎。 我在朝着正确的方向? 或者有什么简单的方法可以做我的工作? 在哪里这个聊天记录将被保存在明火数据库,这样我就可以使SQL查询和使用Web服务获取数据的任何信息最赞赏。

Answer 1:

您可以通过使用下面的代码获取群聊历史:

DiscussionHistory history = new DiscussionHistory();
history.setMaxStanzas(0);


multiUserChat.join("username", "password", history, SmackConfiguration.getPacketReplyTimeout());


Answer 2:

如果您正在使用MUC(XEP-45),那么你就可以进入一个MUC时要求讨论历史。 见XEP-45 7.2.14讨论历史 。 当使用(a)拍击,这意味着你必须使用MultiUserChat.join(字符串昵称,密码字符串,DiscussionHistory历史,长期超时)来获得历史。



Answer 3:

我加了监控服务的插件到Openfire的,这造成了一些额外的表来存储聊天任意2个账户之间的谈话细节。 监控服务还为您提供了数据库查询静。 从管理面板数据的基础上静,我能得到其中得到了存储的表格,其中列此聊天的详细信息。 还需要查询。 使用上述信息,我的后端团队编写的Web服务,以获得所需的信息。 这是我实现的方式。



文章来源: How to get Openfire chat history on Android device with aSmack?