2017-02-23 5 views
-2

私はチャットマネージャーを使用して1対1のチャットを行っていますが、どのようにすればよいですか?OpenFire Xmppグループチャット

マルチユーザーチャットマネージャは、スマックバージョン4.1.9でパブリックではありません。グループチャットにMultiUserChatManagerを使用するにはどうすればよいですか。

public MultiUserChat mMultiUserChat; 
private MultiUserChatManager mMultiUserChatManager; 

mMultiUserChatManager = MultiUserChatManager.getInstanceFor(mAbstractXMPPConnection); 
mMultiUserChatManager.addInvitationListener(this); 

mMultiUserChat = mMultiUserChatManager.getMultiUserChat(room); 
mMultiUserChat.addMessageListener(this); 

try { 
    mMultiUserChat.join(yournickname); 

    // mMultiUserChat.sendConfigurationForm(new Form(DataForm.Type.submit)); 

} catch (SmackException.NoResponseException e) { 
    e.printStackTrace(); 
} catch (XMPPException.XMPPErrorException e) { 
    e.printStackTrace(); 
} catch (SmackException.NotConnectedException e) { 
    e.printStackTrace(); 
} 

をし、送信メッセージのために:

+0

こんにちは、groupchatsについての質問のトンがあります。あなたのアプローチがコードを読むだけなら、javadocも必ず読んでください。公式なチュートリアル(http://download.igniterealtime.org/smack/docs/latest/documentation/extensions/muc.html)から始まります。 multiuserchatについてのプロトコル仕様は変更されていません。http://stackoverflow.com/questions/41140681/ http://stackoverflow.com/questions/37875539 ​​ – MrPk

答えて

-1

そのは4.1.9バージョンでは動作しない、あなたはこれを試すことができます

Message msg = new Message(room, Message.Type.groupchat); 
msg.setBody(message); 
mMultiUserChat.sendMessage(msg); 
+0

https://xmpp.org/extensions/xep-0045.htmlあなたのコードは非常に単一のケースでのみ動作します(パスワードなしで既存のMUCに参加する)。さらに、MultiUserChatオブジェクトは、あなたが持っていたように、新しいMessageを構成することなく、String本体でメッセージを送信することを許可します – MrPk

関連する問題