suk*_*rno 7 android xmpp smack asmack
我正在使用Xabber开源项目,并且能够创建一个新组,但它总是说:这个房间从入口锁定,直到配置得到确认.我试图设置默认配置,但它抛出异常:401未经授权.究竟是什么问题.
final MultiUserChat multiUserChat;
try {
multiUserChat = new MultiUserChat(xmppConnection, room);
// CHANAKYA: set default config for the MUC
// Send an empty room configuration form which indicates that we want
// an instant room
try {
multiUserChat.sendConfigurationForm(new Form(Form.TYPE_SUBMIT));
} catch (XMPPException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
u_p*_*dra 10
我也面临同样的错误.在这里,我修改了代码,它对我有用.当我们调用任何getConfigurationForm()而没有加入它时,错误401没有被授权的错误.
multiUserChat.join(nickname, password);
setConfig(multiUserChat); // Here I am calling submit form
Run Code Online (Sandbox Code Playgroud)
private void setConfig(MultiUserChat multiUserChat) {
try {
Form form = multiUserChat.getConfigurationForm();
Form submitForm = form.createAnswerForm();
for (Iterator<FormField> fields = submitForm.getFields(); fields
.hasNext();) {
FormField field = (FormField) fields.next();
if (!FormField.Type.hidden.equals(field.getType())
&& field.getVariable() != null) {
submitForm.setDefaultAnswer(field.getVariable());
}
}
submitForm.setAnswer("muc#roomconfig_publicroom", true);
submitForm.setAnswer("muc#roomconfig_persistentroom", true);
multiUserChat.sendConfigurationForm(submitForm);
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
现在我能够成功提交表格,没有任何例外.希望这对你有用.