7
グループを追加することはできますが、「設定が確定するまで入力はロックされています」というメッセージが表示されます。私は研究しましたが、満足のいく回答は見つかりませんでした。以下は、XMPP接続を取得してフォームを送信するコードです。フォームを送信しているときに、「許可されていない例外」がスローされます。フォームを送信中にXMPPで例外が許可されません(401)。
xmppConnection = connectionThread.getXMPPConnection();
if (xmppConnection == null) {
Application.getInstance().onError(R.string.NOT_CONNECTED);
return;
}
final MultiUserChat multiUserChat;
try {
multiUserChat = new MultiUserChat(xmppConnection, room);
// setConfig(multiUserChat);
} catch (IllegalStateException e) {
Application.getInstance().onError(R.string.NOT_CONNECTED);
return;
}
//フォームを送信するためのコード。
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();
}
}
問題が解決しました。私は間違った場所からsetConfig()メソッドを呼び出していました。グループに参加した後に電話する必要があります。 \t multiUserChat.join(ニックネーム、パスワード); //ルームのデフォルト設定を設定する \t \t \t \t \t setDefaultConfig(multiUserChat); –
あなた自身の質問に答えてそれを受け入れることができます。 :) – iStar