2016-10-19 2 views
0

나는 smack libary를 사용하여 채팅 앱을 개발 중입니다. 그룹 채팅에 문제가 있습니다. 내 애플 리케이션에서 나는 그룹을 만들고 오전 그 구성원이 자동으로 joined.i 그룹에 메시지를 보낼 때 모든 사용자에게 알려주고 싶다 chat.My 코드를 시작하지 않았다면 나는 init 메서드에 장소 리스너가 있지만 메시지를받을 수 없습니다.메시지 수신자가 도착하지 않는 멀티 유저 채팅

//Initialize 
public void init(String userId, String pwd, Context context) throws SmackException.NotConnectedException { 
    this.mUserName = userId; 
    this.mPassWord = pwd; 
    this.mContext = context; 

    sessionManager = new SessionManager(context); 

    if (userId.contains("@")) { 
     this.mUserName = userId.split("@")[0]; 
    } 
    XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder(); 
    configBuilder.setUsernameAndPassword(mUserName, mPassWord); 
    configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); 
    configBuilder.setServiceName(XMPPCredential.SERVICE); 
    configBuilder.setHost(XMPPCredential.HOST); 
    configBuilder.setPort(XMPPCredential.PORT); 
    configBuilder.setResource(""); 
//  configBuilder.setDebuggerEnabled(true); 


    mConnection = new XMPPTCPConnection(configBuilder.build()); 
    PingManager pingManager = PingManager.getInstanceFor(mConnection); 
    pingManager.setPingInterval(300); // 2.5 min 
    pingManager.registerPingFailedListener(this); 

    mChatmanager.getInstanceFor(mConnection).addChatListener(this); 

    multiUserChatManager = MultiUserChatManager.getInstanceFor(mConnection); 
    mConnection.addAsyncStanzaListener(this, null); 
    mConnection.addSyncStanzaListener(this,null); 

    ReconnectionManager.getInstanceFor(mConnection).enableAutomaticReconnection(); 
    mConnection.addConnectionListener(this); 

    // Connect with XMPP server 
    connectConnection(context); 
} 

답변

0

이 같은 리스너 추가해야 MultiUserChat 각 :

MultiUserChat muc = MultiUserChatManager.getInstanceFor(mConnection).getMultiUserChat(mucJid); 

muc.addMessageListener(new MessageListener()...); 
관련 문제