5

如何从中获取MUC 房间的DiscussionHistory MultiUserChat?我可以使用 aSmack 库创建 MultiUserChat 实例和房间,现在我想显示房间中发生的所有先前对话。

任何有相同经验的人请帮助我。我在谷歌上搜索了很多关于此的内容,但我仍然没有得到任何适当的文档/解释。

4

1 回答 1

14
DiscussionHistory history = new DiscussionHistory();
history.setSince(date);

muc.join(nickname, null, history, SmackConfiguration.getReplyTimeout());

// Get historical message;
Message oldMsg = muc.nextMessage(timeout);

你也可以使用

history.setMaxChars()
history.setMaxStanzas()
history.setSeconds()

一些示例在测试代码中。检查测试testDiscussionHistory

http://fisheye.igniterealtime.org/browse/smack/trunk/test/org/jivesoftware/smackx/muc/MultiUserChatTest.java?hb=true

于 2013-04-09T16:53:12.040 回答