我已经在我的系统中安装了 open fire,通过使用邮递员工具我可以创建用户,通过使用 smack 我也可以将消息发送给其他用户..但问题是我不知道如何获取两个用户之间的聊天历史记录..这意味着如果我发送发件人和收件人用户名,我需要获取以前的聊天历史记录。
我可以在开火服务器-->存档文件夹中查看聊天记录。
但我不知道如何获取聊天记录。
有没有Rest API 可用于获取聊天记录两个用户之间..
请提供任何可能的解决方案
谢谢
这是我能看到的聊天记录
如果你想使用 smack 从 Openfire 获取聊天记录:
-
正如您已经完成的那样,通过安装启用 MAM (XEP-0313)监控服务 https://www.igniterealtime.org/projects/openfire/plugins/monitoring/readme.htmlOpenfire 中的插件。
-
现在从 Openfire 服务器转到:服务器>存档>存档设置并选中“存档一对一聊天”和“存档群聊”并保存单击“更新设置”。
-
从现在开始,所有聊天记录都将保存在 Openfire 上。与某人开始新的聊天并重新安装您的 Android 应用程序。
-
MAM 是“实验性的 https://download.igniterealtime.org/smack/docs/latest/documentation/extensions/index.html"。所以你必须将这一行添加到你的 Gradle 中:
implementation 'org.igniterealtime.smack:smack-extensions:4.2.2'
-
成功连接并授权其中一个后,您可以通过以下代码逐页或根据需要获取聊天记录:
MamManager manager = MamManager.getInstanceFor(connection);
MamManager.MamQueryResult r = manager.mostRecentPage([userBareJID], [numberOfMessages]);
if (r.forwardedMessages.size() >= 1) //printing first of them
{
Message message = (Message) r.forwardedMessages.get(0).getForwardedStanza();
Log.i("mam", "message received" + message.getBody());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)