Quickblox - QBMessageListener никога не влиза в processMessage()

Използвам Quickblox SDK в моето приложение за Android.

Мога да изпращам съобщения в QBPrivateChat и мога да ги извличам без проблем.

Добавих QBMessageListener към моя QBPrivateChat, за да бъда уведомен веднага щом бъде изпратено ново съобщение от другия потребител на чата.

final QBMessageListener<QBPrivateChat> messageListener = new QBMessageListener<QBPrivateChat>() {

    @Override
    public void processMessage(QBPrivateChat privateChat, QBChatMessage chatMessage) {
        Log.e(TAG, "privateChatMessageListener - processMessage");
    }

    @Override
    public void processError(QBPrivateChat privateChat, QBChatException error, QBChatMessage originMessage) {
        Log.e(TAG, "privateChatMessageListener - processError");
    }

};

QBPrivateChatManager privateChatManager = QBChatService.getInstance().getPrivateChatManager();
privateChatManager.addPrivateChatManagerListener(new QBPrivateChatManagerListener() {

    @Override
    public void chatCreated(QBPrivateChat privateChat, boolean createdLocally) {
        Log.e(TAG, "QBPrivateChatManagerListener - chatCreated");

        if(!createdLocally)
            privateChat.addMessageListener(privateChatMessageListener);
    }

});

Integer opponentId = 1234;

QBPrivateChat privateChat = privateChatManager.getChat(opponentId);

if (privateChat == null)
    privateChat = privateChatManager.createChat(opponentId, messageListener);
else
    privateChat.addMessageListener(messageListener);

Проблемът е, че приложението никога не преминава през processMessage/processError. Опитвам се да го разбера с часове без успех.

Може ли някой да ми каже какво правя грешно?

Благодаря ви предварително


person Valentin    schedule 08.10.2015    source източник


Отговори (1)


Правилният начин тук е да направите

if (privateChat == null){
    privateChat = privateChatManager.createChat(opponentId, messageListener);
    privateChat.addMessageListener(messageListener);
}else{
}
person Rubycon    schedule 14.10.2015