无法使用Smack创建MultiUserChat:接收SmackException $ NoResponseException:在回复中未收到任何响应

时间:2016-05-13 08:01:03

标签: android exception smack

创建组时我遇到异常: “SmackException $ NoResponseException:回复中没有收到回复”

这是组创建方法,回复时间设置为50秒。 我能够登录,一对一聊天。 但是在尝试创建一个在muc.create上获得以下异常的组时(缺口);

public void createGroup() {

    String roomId = "Group_test003" + "@iscoveri.com";
    String nick = "Grouptest";

    try {

 manager = MultiUserChatManager.getInstanceFor(xmppCON);

        MultiUserChat muc = manager.getMultiUserChat(roomId);

        muc.create(nick);

        Form form = muc.getConfigurationForm();

        Form submitForm = form.createAnswerForm();

        List<FormField> fields = form.getFields();
        for (int i = 0; i < fields.size(); i++) {
            FormField field = (FormField) fields.get(i);
            if (!FormField.Type.hidden.equals(field.getType()) && field.getVariable() != null) {

                submitForm.setDefaultAnswer(field.getVariable());
            }
        }

        List owners = new ArrayList();
        owners.add("8017037677" + "@iscoveri.com");
        submitForm.setAnswer("muc#roomconfig_roomowners", owners);

        muc.sendConfigurationForm(submitForm);

    } catch (XMPPException e) {
        e.printStackTrace();
    } catch (SmackException.NoResponseException e) {
        e.printStackTrace();
    } catch (SmackException.NotConnectedException e) {
        e.printStackTrace();
    } catch (SmackException e) {
        e.printStackTrace();
    }

}

1 个答案:

答案 0 :(得分:0)

MultiUserChat在用户加入之前不会创建它。

所以在sendConfiguration之后你需要加入muc:

muc.join("8017037677@iscoveri.com");

编辑:顺便说一句,请确保在您的服务器中注册了有效的服务子域。