Reputation: 21
I have tried to implement the quickblox new api for android. I got a session and started a chat instance and not I'm trying to send a message to specific id. using the code bellow, I get no errors, but no message is sent. Thank you for quick help
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);
}
}
Upvotes: 0
Views: 320
Reputation: 61
Try it:
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;
}
And your listener:
private class PrivateChatMessageListener implements QBChatStateListener<QBPrivateChat> {
@Override
public void processMessage(QBPrivateChat privateChat, QBChatMessage chatMessage) {
// do something
}
}
Upvotes: 1