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