Androidでグループチャット(MultiUserChat)を作成するためにSmackライブラリを使用しています。MultiUserChat インスタンスを作成し、そのドメインで利用可能なルームを取得し、特定のルームに参加できます。これについていくつか質問があります。
- アプリケーション全体で MUC の同じインスタンスを維持する必要がありますか?
- 特定の部屋の過去 20 件のディスカッション履歴を取得するにはどうすればよいですか?
今、私はこのようにしてディスカッション履歴を取得しようとしています
DiscussionHistory history = new DiscussionHistory();
history.setMaxStanzas(20);
muc2.join(acc_id, null, history, JOIN_TIMEOUT);
Message oldMsg = muc2.nextMessage(1000);
上記のコードを使用することで、履歴で利用可能な最初のメッセージでもあるサーバーからメッセージを 1 つだけ取得しています。しかし、私の要件は、ルームのディスカッション履歴で利用可能な最後の 20 件のメッセージをすべて取得したいということです。
この問題について誰か助けて...