私はグループチャットのための部屋を作成しました。グループを作成してメンバーを追加しましたが、グループのメンバーが永続していないという問題があります。 グループメンバーは、をリフレッシュした後で自動的に削除されます。グループメンバーはアンドロイドでオープンファイアを継続していませんか?
コード:
コード:部屋に作成および接合
public void createReservedRoom(Context context, String jidName, String roomName, String nickName){
try {
connect();
MultiUserChat muc = getMultiUserChat(jidName);
muc.create(nickName);
try {
//PreferenceUtils.setObject(context, muc, PreferenceUtils.MUC_OBJ);
}catch (Exception e){
e.printStackTrace();
}
Form form = getForm(muc, roomName);
// Send the completed form
muc.sendConfigurationForm(form);
muc.join(nickName);
}catch (Exception e){
e.printStackTrace();
}
}
コード:作成室
ジャバーIDprivate MultiUserChat getMultiUserChat("123456789"){
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(getXmppConnection());
String jid = "[email protected]";
return manager.getMultiUserChat(jid);
}
コードを生成します
private Form getForm(MultiUserChat muc, String roomName){ Form form = null; try { form = muc.getConfigurationForm().createAnswerForm(); // Create a new form to submit based on the original form form.setAnswer("muc#roomconfig_passwordprotectedroom", false); form.setAnswer("muc#roomconfig_roomname", roomName); form.setAnswer("muc#roomconfig_persistentroom", true); form.setAnswer("muc#roomconfig_changesubject", true); form.setAnswer("muc#roomconfig_publicroom",true); form.setAnswer("muc#roomconfig_allowinvites",true); form.setAnswer("muc#roomconfig_membersonly",true); form.setAnswer("muc#roomconfig_moderatedroom",false); // Sets the new owner of the room List<String> owners = new ArrayList<String>(); //Be carefull: if members does not exists, it brakes! owners.add("[email protected]"); form.setAnswer("muc#roomconfig_roomowners", owners); } catch (SmackException.NoResponseException e) { e.printStackTrace(); } catch (XMPPException.XMPPErrorException e) { e.printStackTrace(); } catch (NotConnectedException e) { e.printStackTrace(); } return form; }
こんにちは、同じチュートリアルやリファレンスをお勧めしますか? –
http://xmpp.org/extensions/xep-0045.html。いったん私が多かれ少なかれ答えたのは、アフィリションに永続メンバーリストを「ハッキング」する方法です(もちろんアフィリエイトのネイティブ機能を失うことになります)。http://stackoverflow.com/questions/37431642/create-muc-group -like-whatsapp-android/37434195#37434195また、http://stackoverflow.com/questions/37524493/smack-presence-listener-in-multi-user-chat/37525135#37525135も参照できます(忘れずに何かが役に立ったら投票してください!) - > SMACK docs:http://download.igniterealtime.org/smack/docs/latest/documentation/extensions/muc.html – MrPk