2017-04-24 19 views
0

當我點擊發送按鈕,它不發送任何消息 該計劃爲沒有錯誤,請幫我解決這個問題。Im做對QuickBlox聊天應用程序項目,有一些疑慮

sendButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      QBChatMessage chatMessage = new QBChatMessage(); 
      chatMessage.setBody(edtContent.getText().toString()); 
      chatMessage.setSenderId(QBChatService.getInstance().getUser().getId()); 
      chatMessage.setSaveToHistory(true); 


      try { 
       qbChatDialog.sendMessage(chatMessage); 
      } catch (SmackException.NotConnectedException e) { 
       e.printStackTrace(); 
      } 

      QBChatMessagesHolder.getInstance().putMessage(qbChatDialog.getDialogId(), chatMessage); 
      ArrayList<QBChatMessage> messages = QBChatMessagesHolder.getInstance().getChatMessagesByDialogId(qbChatDialog.getDialogId()); 
      adapter = new ChatMessageAdapter(getBaseContext(), messages); 
      lstChatMessages.setAdapter(adapter); 
      adapter.notifyDataSetChanged(); 
+0

看到這個[問題](https://github.com/QuickBlox/quickblox-android-sdk/issues/77)在github上,它也有一個例子 –

+0

沒有解決方案嗎? – Kavin

回答

0

我在我的應用程序中使用了快速blox sdk。下面是發送消息的代碼和它的工作正常。

private void sendChatMessage(String text) { 
    QBChatMessage chatMessage = new QBChatMessage(); 
    chatMessage.setBody(text); 
    chatMessage.setProperty(PROPERTY_SAVE_TO_HISTORY, "1"); 
    chatMessage.setDateSent(System.currentTimeMillis()/1000); 
    try { 
     if (Network.isNetworkConnected(ChatActivity.this)) { 
      chatDialog.sendMessage(chatMessage); 
      showMessage(chatMessage); 
      messageEditText.setText(""); 
      checkIfOpponentIsOnline(chatMessage.getBody()); 
     } else { 
      ToastUtil.showShortToast(ChatActivity.this, "Please check Internet connection and Try again"); 
     } 
    } catch (SmackException e) { 
     Log.e(TAG, "Failed to send a message", e); 
     ToastUtil.showShortToast(ChatActivity.this, R.string.chat_send_message_error); 
    } catch (Exception e) { 
     Log.e(TAG, "Failed to send a message", e); 
    } 
} 

如果仍然有問題,那麼您必須檢查Quickblox控制檯上的dialogId和dialogUsers。一定有什麼問題。檢查對話框中是否存在用戶。同時檢查ChatService會議的原因,如果沒有會話,你將無法發送任何消息。