我正在使用aSmack库在android中创建群聊(MultiUserChat)。能够创建MultiUserChat实例,获得该域中的可用房间并能够加入特定的房间。现在我对此有一些疑问,那些是
现在我尝试这样来获取讨论历史
DiscussionHistory history = new DiscussionHistory();
history.setMaxStanzas(20);
muc2.join(acc_id, null, history, JOIN_TIMEOUT);
Message oldMsg = muc2.nextMessage(1000);
现在使用上面的代码,我只从服务器获得一条消息,这也是历史记录中可用的第一条消息。但我的要求是我希望在一个房间的讨论历史中获得所有最后20条消息。
有人在这个问题上帮助我......
答案 0 :(得分:0)
试试此代码
new Thread(new Runnable() {
@Override
public void run() {
do{
Message oldMsg = muc.nextMessage();
if(oldMsg.getBody()!=null){
//GetMessage(oldMsg);
}else{
break;
}
}while(true);
}
}).start();