1 回答
TA贡献1820条经验 获得超10个赞
如果您想使用来自openfire的具有聊天记录的聊天记录:
如已完成,通过在openfire中安装MonitoringService插件来启用MAM(XEP-0313)。
现在,从openfire服务器转到:服务器>存档>存档设置,然后选中“存档一对一聊天”和“存档群聊”,然后单击“更新设置”进行保存。
从现在开始,所有聊天记录都将保存在openfire上。与某人开始新的聊天,然后重新安装您的android应用。
MAM是“ smack-experimental ”的一部分。因此,您必须将此行添加到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());
}
添加回答
举报