Я создал комнату для группового чата. Я успешно создал группу и добавил участников, но проблема в том, что участники в группе не сохраняются.Участник группы автоматически удаляется после обновления.
код :
код: создание идентификатора jabber
private MultiUserChat getMultiUserChat("123456789"){
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(getXmppConnection());
String jid = "[email protected]";
return manager.getMultiUserChat(jid);
}
код: создание и присоединение к комнате
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();
}
}
код: создать комнату
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;
}