2013-06-07 27 views
7

Tôi có thể thêm nhóm, nhưng nó hiển thị 'Phòng bị khóa từ mục nhập cho đến khi cấu hình được xác nhận'. Tôi đã nghiên cứu nhưng không tìm thấy bất kỳ câu trả lời thỏa đáng nào. Dưới đây là mã làm thế nào nó nhận được kết nối XMPP và gửi biểu mẫu. Và trong khi gửi biểu mẫu, nó ném 'Không được phép ngoại lệ'.IN XMPP nhận ngoại lệ không được ủy quyền (401), trong khi gửi biểu mẫu

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; 
    } 

// Mã để gửi biểu mẫu.

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(); 
    } 

} 
+2

Sự cố đã được giải quyết ngay bây giờ, tôi đã gọi phương thức setConfig() từ địa điểm sai. Nó sẽ được gọi sau khi tham gia nhóm. \t multiUserChat.join (biệt hiệu, mật khẩu); // đặt cấu hình mặc định cho phòng \t \t \t \t \t setDefaultConfig (multiUserChat); –

+1

Bạn có thể trả lời câu hỏi của riêng mình và chấp nhận câu hỏi đó. :) – iStar

Trả lời

1

Để nhận được câu hỏi này được trả lời, tôi vừa điều chỉnh nhận xét của bạn.

Bạn đang gọi số setConfig() đến đầu. Nó sẽ được gọi sau khi tham gia nhóm.

Các vấn đề liên quan