2016-12-14 1 views
1
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(xmppconnection.getConnection()); 
try { 
    MultiUserChat muc = manager.getMultiUserChat("[email protected]"); 

    muc.join("[email protected]"); 

    Message msg = new Message("[email protected]", Message.Type.groupchat); 
    msg.setBody("Hi Testing..Group chat.."); 
    muc.sendMessage(msg); 
    // muc.join("test", "1234"); 
} catch (SmackException.NotConnectedException e) { 
    e.printStackTrace(); 
} catch (SmackException e) { 
    e.printStackTrace(); 
} catch (XMPPException.XMPPErrorException e) { 
    e.printStackTrace(); 
} catch (XMPPException e) { 
    e.printStackTrace(); 
} 

오류는 다음과 같습니다헤로인의 Openfire 안드로이드 없습니다

오류 코드 = "403"유형 = "인증"금지의 xmlns = "항아리 : IETF : PARAMS : xml : ns : xmpp-stanzas "/> **

+0

이게 방 ID입니다.'getMultiUserChat ("[email protected]");'? –

+0

예 객실 ID입니다. 사용자 정보를 얻지 만 그룹 가입 후 메시지를 보낼 수 없습니다. –

+0

@DimaSan 네, 이건 –

답변

0

몇 가지 오류, 논리 및 절차가 있습니다. 이 호출로

:

MultiUserChat muc = manager.getMultiUserChat("[email protected]"); 

당신이 MUC 객체 당신의 groupchat 있습니다. 이 그룹 채팅에 이미 가입했는지 또는 이중 가입으로 인해 예외가 발생하는지 확인해야합니다. 당신이 가입 할 때

그렇게

if (!muc.isJoined()) 
muc.join("My nickname"); 

더, 당신은 가입 사용자마다 고유 한 별명을 제공해야하거나 두 번째 사용자와 예외를 얻을 수 있습니다. 별명으로 groupchat의 동일한 이름을 설정합니다. 99 %는 논리적 오류입니다.

마지막으로 메시지를 보내려면 MUC 개체를 통해 보내면됩니다.이 경우처럼 일부 정보가 누락 될 위험이 있습니다.

그래서 단지

muc.send("Hi Testing..Group chat.."); 

마지막으로 함께 보내 코스 multiuserchat의 필수가 존재하거나 이전에 제대로 inititilized, 그것은이 모든 것을 할 수있는 전제 조건이다. 첫 단계로, http-admin-panel을 사용하여 Openfire에서 생성하십시오. (지속성으로 만드십시오)

+1

고마워요 :) –