首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Quickblox聊天sdk中聊天/1:1聊天

在Quickblox聊天sdk中聊天/1:1聊天
EN

Stack Overflow用户
提问于 2015-02-04 20:18:06
回答 2查看 642关注 0票数 0

如何让离线和在线用户在quickblox之间的私人聊天。如果两个用户Jone和kally如果kally离线,那么如何获得离线用户Kally的状态我的代码在这里。请检查并帮助我。

代码语言:javascript
复制
         try {
            QBChatMessage chatMessage = new QBChatMessage();
            chatMessage.setBody(inputbox.getText().toString()); 
            chatMessage.setProperty("save_to_history", "1"); 
            long time = System.currentTimeMillis()/1000;
            chatMessage.setProperty("date_sent", time + "");
            privateChat.sendMessage(chatMessage);
            showMessage(chatMessage);
            inputbox.setText("");
        } catch (XMPPException e) {
            Log.e("XMPPException",e.toString());
        } catch (SmackException.NotConnectedException e) {
            Log.e("Not Connected Exception",e.toString());
        }catch (NullPointerException e) {
            Log.e("NullPointerException", e.toString());
        }catch (Exception e) {
            Log.e("Exception", e.toString());
        }

       QBPrivateChatManagerListener privateChatManagerListener = new              QBPrivateChatManagerListener() {
    @Override
    public void chatCreated(final QBPrivateChat privateChat, final boolean createdLocally) {
        if(!createdLocally){
            privateChat.addMessageListener(privateChatMessageListener);
        }
    }
};

QBMessageListener<QBPrivateChat> privateChatMessageListener = new QBMessageListener<QBPrivateChat>() {
    @Override
    public void processMessage(QBPrivateChat privateChat, final QBChatMessage chatMessage) {
        Log.w(Tag, "new incoming message: chatMessage" + chatMessage);
        showMessage(chatMessage);
        playBeepSound(mContext);
    }

    @Override
    public void processError(QBPrivateChat privateChat, QBChatException error, QBChatMessage originMessage){
        Log.w(Tag, "new incoming message: originMessage" + originMessage);
    }

    @Override
    public void processMessageDelivered(QBPrivateChat privateChat, String messageID){
        Log.w(Tag, "new incoming message:messageID " + messageID);
    }

    @Override
    public void processMessageRead(QBPrivateChat privateChat, String messageID){
        Log.w(Tag, "new incoming message:messageID messageID" + messageID);
    }
};
private void createNewDialog(){
    privateChatManager = QBChatService.getInstance().getPrivateChatManager();
    privateChatManager.createDialog(opponentId, new QBEntityCallbackImpl<QBDialog>() {
        @Override
        public void onSuccess(QBDialog dialog, Bundle args) {
            //Log.e("QBdialog", ""+dialog);
            //Log.e("id", dialog.getDialogId());
            setUpListener();
            isQBDialog = true;
        }

        @Override
        public void onError(List<String> errors) {
            Log.e("errors", ""+errors);
            isQBDialog = false;

        }
    });
}

private void setUpListener(){
privateChatManager.addPrivateChatManagerListener(privateChatManagerListener);
    privateChat = privateChatManager.getChat(opponentId);
    if (privateChat == null) {
        privateChat = privateChatManager.createChat(opponentId, privateChatMessageListener);
        privateChat.addIsTypingListener(privateChatIsTypingListener);

    }else{
        privateChat.addMessageListener(privateChatMessageListener);
        privateChat.addIsTypingListener(privateChatIsTypingListener);
    }
}

我正在关注chat http://quickblox.com/developers/Android_XMPP_Chat_Sample的链接

EN

回答 2

Stack Overflow用户

发布于 2015-02-04 20:34:58

我还试图实现quickblox聊天来进行一对一的聊天,但由于文档不够充分,我被卡住了。然后我找到了socket.io,它更方便一对一的链接: chat.follow:http://socket.io/blog/native-socket-io-and-android/。你还必须找到一个免费的node.js托管公司。我可以向你推荐heroku.com

票数 0
EN

Stack Overflow用户

发布于 2015-02-10 19:54:18

您可以添加监听器来跟踪用户状态- RosterListener。

例如:

https://github.com/QuickBlox/q-municate-android/blob/master/Q-municate_core/src/main/java/com/quickblox/q_municate_core/qb/helpers/QBFriendListHelper.java

Q-municate实时跟踪用户状态(私人和群聊)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28321195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档