In my app, I want to create groups and add users to the groups using smack 4.1. I am able to create group but unable to add user in that groups. My Code for create groups is...
create group
if (connection != null) { String groupName = XmppUtils.buildMUCName(grpName); MultiUserChat multiUserChat = managerMuc.getMultiUserChat(groupName); if (!multiUserChat.isJoined()) { boolean createNow; try { multiUserChat.createOrJoin(grpName); createNow = true; if (createNow) { Form form = multiUserChat.getConfigurationForm().createAnswerForm(); form.setAnswer("muc#roomconfig_publicroom", true); form.setAnswer("muc#roomconfig_roomname", grpName); // form.setAnswer("muc#roomconfig_roomowners", userDate.getUserId().toString() + "@" + Config.ChatValues.SERVICE_NAME); form.setAnswer("muc#roomconfig_persistentroom", true); List<String> cast_values = new ArrayList<String>(); cast_values.add("moderator"); cast_values.add("participant"); cast_values.add("visitor"); form.setAnswer("muc#roomconfig_presencebroadcast", cast_values); multiUserChat.sendConfigurationForm(form); multiUserChat.join(userDate.getUserId().toString() + "@" + Config.ChatValues.SERVICE_NAME); // multiUserChat.sendConfigurationForm(new Form(DataForm.Type.submit)); //this is to create the room immediately after join. } } catch (Exception e) { e.printStackTrace(); } } else { Log.e("createGroup", "=======multiUserChat.isJoined()=====>"); } }
Code for add users this is what I am doing to add users
// Create a MultiUserChat using an XMPPConnection for a room String roomName = groupName + "@" + Config.ChatValues.GROUP_SERVICE_NAME; MultiUserChat muc2 = managerMuc.getMultiUserChat(roomName); // User2 joins the new room // The room service will decide the amount of history to send // The number of chat room services will decide to accept the historical record /* DiscussionHistory history = new DiscussionHistory(); history.setMaxStanzas(0);*/ //history.setSince(new Date()); try { for (int i = 0; i < selectedLisrArray.size(); i++) { String userId = selectedLisrArray.get(i).userId.toString() + "@" + Config.ChatValues.SERVICE_NAME; Log.e("joinGroups", "=========>" + roomName + " users to join " + userId); muc2.invite(msg, userId, "let's join this room "); muc2.sendMessage(userId + " : You have joined the group : " + roomName); } } catch (SmackException.NotConnectedException e) { e.printStackTrace(); }