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

任何在同一方面有经验的人都请帮助我。我在Google上搜索了很多相关内容,但仍然没有得到任何适当的文档/说明。

最佳答案

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

关于android - 如何使用aSmack获取MultiUserChat session 室的DiscussionHistory?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15831855/

10-10 06:16