MUC配置错误:无法找到指定变量的字段

问题描述 投票:0回答:1

我想创建像WhatsApp这样的群聊。我正在使用ejabberd服务器的MUC服务。我已经成功创建了组,但我无法在组中永久添加成员。我也尝试过使用发送邀请和加入组,但是当用户离线时它不起作用。它在脱机时自动从组中删除用户。

所以我尝试了belove代码在组中添加成员,但它给出了错误:

找不到指定变量的字段。

这是我的代码:

EntityBareJid mucJid = JidCreate.entityBareFrom("[email protected]");

MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(conn);

MultiUserChat muc = manager.getMultiUserChat(mucJid);

Resourcepart nickname = Resourcepart.from("admin");

List<String> owners = new ArrayList<>();
owners.add("user1@servicename");
owners.add("user2@servicename");

muc.create(nickname);
Form form = muc.getConfigurationForm().createAnswerForm();
form.setAnswer("muc#roomconfig_roomowners", owners);
muc.sendConfigurationForm(form);

谁能帮我 ?

android xmpp ejabberd smack multiuserchat
1个回答
0
投票

嘿@D G无法在一个组中永久添加成员,XMPP在连接丢失时踢房间用户。

这是我用来解决这个问题的方法

当您创建一个组时,使用API​​在您的服务器上的任何位置保存您的组详细信息和组成员或从XMPP获取房间信息,但我建议使用API​​保存组详细信息,因为XMPP无法获取我们需要的整个房间详细信息。

然后在应用程序打开时创建连接,然后向所有组成员发送组邀请,因此如果任何组成员在线或已连接,他将加入该组(确保此过程在后台)。

有关更多信息,请查看qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.