在我的应用程序中,我想使用 smack 4.1 创建组并将用户添加到组中。我能够创建组但无法在该组中添加用户。我的创建组代码是...
创建组
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()=====>");
}
}
添加用户的代码 这是我正在做的添加用户
// 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();
}