Im做对QuickBlox聊天应用程序项目,有一些疑虑
问题描述:
当我点击发送按钮,它不发送任何消息 该计划为没有错误,请帮我解决这个问题。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();
答
我在我的应用程序中使用了快速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会议的原因,如果没有会话,你将无法发送任何消息。
看到这个[问题](https://github.com/QuickBlox/quickblox-android-sdk/issues/77)在github上,它也有一个例子 –
没有解决方案吗? – Kavin