2013-04-12 3 views
1

Я использую библиотеку aSmack для создания группового чата (MultiUserChat) в Android. способный создавать экземпляр 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(); 
Смежные вопросы