QuickBlox:在视频聊天模块中获取在线用户

时间:2014-01-16 07:56:18

标签: android quickblox

有没有办法找出Quickblox多用户是否在线使用ANDROID? QBChatService包装连接,我不知道如何实现这一点,我也想到了使用名册,但我没有看到我在哪里可以得到名册,请你指教。我正在使用quickblox的视频聊天模块

如何添加QBChatService.getInstance()。addNotMessageListener(packetListener) QBChatService.getInstance()。sendCustomPresence(存在)

在视频聊天模块中

1 个答案:

答案 0 :(得分:2)

您可以在QB片段中找到使用名册和其他功能的示例: enter link description here

登录视频聊天后,您可以使用以下命令获取名单:

QBChatRoster roster = QbChatService.getInstance().registerRoster(new QBChatRoster.QBRosterListener() {
        @Override
        public void entriesDeleted(Collection<String> users) {

        }

        @Override
        public void entriesAdded(Collection<String> users) {
            //List<Integer> usersId = qbChatRoster.getUsersId();
            for (String s : users) {
                Log.i(TAG, "roster added="+s);
            }
        }

        @Override
        public void entriesUpdated(Collection<String> users) {
            for (String s : users) {
                Log.i(TAG, "roster updated="+s);
            }
        }

        @Override
        public void presenceChanged(Presence presence) {
            Log.i(TAG, "presence changed="+presence.getFrom() + " "+presence.getType());
        }
    });

小心点。启动VideoChat时,将实例化QBChatService实例。

在presenceChanged()方法中,您可以检查一个可用或不可用的方法。 您可以使用以下方式收听“可用”/“不可用”状态:

QBChatService.getInstance().addNotMessageListener(packetListener);

您可以使用以下方式添加好友:

qbChatRoster.createEntry(int userId, String name, String[] groups)

将向用户发送请求并将其数据添加到名册中。

使用:

QbChatService.getInstance().sendCustomPresence(Presence presence) 

您可以发送原始状态。例如,确认将您添加为朋友的请求 - 您可以在NotMessageListener中获取。