如何从openfire获取每个对话的最后消息(每个JID)?

Mah*_*asi 7 xmpp openfire archiving smack

我正在开发一个带有SMACK库的Android上的即时消息应用程序,它使用OPENFIRE作为xmpp服务器.我想从MONFCORING SERVICE插件(基于XEP-0313)启用的openfire服务器中的MessageArchiveManager获取每个会话的最后一条消息.我知道mamManager.queryArchive()可以获取与特定jid相关的消息,或者可以获取服务器中存在的特定数量的消息(没有自定义的sepration),但我们认为smack不知道哪些JID有对话服务器!一个解决方案是每个ROSTER条目发送请求,但是当它包含大量联系人时,它的成本很高,而且我们可能会与Roster中的任何人进行对话.有没有办法或插件或其他扩展来做到这一点?