2017-04-24 8 views
0

送信ボタンをクリックするとメッセージは送信されません プログラムはエラーを起こさないようにしています。私は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

githubのこの[issue](https://github.com/QuickBlox/quickblox-android-sdk/issues/77)を参照してください。こちらにも例があります –

+0

この解決法はありませんか? – Kavin

答えて

0

私のアプリでquick 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をチェックする必要があります。何か間違っているはずです。ダイアログにユーザーがいるかどうか確認してください。また、セッションがない場合はチャットサービスのセッション原因をチェックしてください。メッセージを送信することはできません。

関連する問題