2014-09-08 4 views
0

저는 안드로이드 용 quickblox new api를 구현하려고했습니다. 세션이있어 채팅 인스턴스를 시작했지만 특정 ID로 메시지를 보내려고하지 않습니다. 코드를 사용하여 오류가 발생하지만 메시지가 전송되지 않습니다. 빠른 도움메시지 보내기 Quickblox android sdk 2

public void startNewChat(final ServerListener<Boolean> listener, Contact contact, String msg){ 
    QBPrivateChatManager manager = QBChatService.getInstance().getPrivateChatManager(); 

    QBPrivateChat chat = manager.createChat(Integer.parseInt(contact.getTripleD_user().getId()), new QBMessageListener<QBChat>() { 

     @Override 
     public void processError(String arg0, QBChatMessage arg1) { 
      listener.getResult(false, arg0); 

     } 

     @Override 
     public void processMessage(QBChat arg0, QBChatMessage arg1) { 
      listener.getResult(true, null); 

     } 
    }); 
    try{ 

     chat.sendMessage(msg);   
    } 
    catch(Exception e){ 
     listener.getResult(false, msg); 
    } 
} 

답변

1

주셔서 감사합니다 그것을 시도 :

private QBPrivateChat createChat(int opponentId) throws QBResponseException { 
      boolean notNull = Utils.validateNotNull(privateChatManager); 
      if (!notNull) { 
       ErrorUtils.logError(TAG, " privateChatManager is NULL"); 
       throw new QBResponseException(context.getString(R.string.dlg_fail_create_chat)); 
      } 
      QBPrivateChat privateChat = privateChatManager.getChat(opponentId); 
      if (privateChat == null) { 
       privateChat = privateChatManager.createChat(opponentId, privateChatMessageListener); 
      } 
      return privateChat; 
    } 

그리고 당신의 청취자를 :

private class PrivateChatMessageListener implements QBChatStateListener<QBPrivateChat> { 

     @Override 
     public void processMessage(QBPrivateChat privateChat, QBChatMessage chatMessage) { 
      // do something 
     } 
    } 
관련 문제