2013-04-12 33 views
1

我正在使用aSmack庫在android中創建羣聊(MultiUserChat)。能夠創建MultiUserChat實例,獲得該域中的可用空間並能夠加入一個特定的房間。現在我對此有一些疑問,那些是如何在android中創建羣聊?

  1. 是否需要在整個應用程序中爲MUC保留相同的實例?
  2. 如何獲得特定房間的最後20個討論歷史?

現在我嘗試這樣得到討論歷史

DiscussionHistory history = new DiscussionHistory(); 
history.setMaxStanzas(20);    
muc2.join(acc_id, null, history, JOIN_TIMEOUT); 
Message oldMsg = muc2.nextMessage(1000); 

通過使用上面的代碼現在我正在從服務器只有一個消息,這也是史上第一個可用的消息。但我的要求是我想在房間的討論歷史中獲得所有最後20條消息。

人幫助我在這個問題上的...

+0

我也面臨着同樣的問題..回回這個@RajaReddy任何解決方案 –

回答

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();