我正在使用quickblox api进行视频聊天,我希望获得在线可用用户。我知道它可以通过名册完成,但我不知道如何获得名册以及如何在名册中添加条目。我想要这个通过quickblox连接,不知道如何获得xmpp连接。
答案 0 :(得分:1)
XMPPConnection.addConnectionCreationListener(new ConnectionCreationListener() {
@Override
public void connectionCreated(Connection arg0) {
Log.i(TAG, "receive xmpp connection : " + arg0);
connection = arg0;
roster = arg0.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
Presence presence;
Log.e(TAG, "user count" + entries.size());
for (RosterEntry entry : entries) {
presence = roster.getPresence(entry.getUser());
Log.i(TAG, "" + entry.getUser());
Log.i(TAG, "" + presence.getType().name());
Log.i(TAG, "" + presence.getStatus());
}
}
});
因此,在程序开始时注册XMPPConnection监听器,通常需要几秒钟才能收到连接对象。 但是只有在你只使用creatEntry的情况下它才会起作用,公鸡会看到那些创建的用户。
使用Roster创建条目使用下一个代码:
try {
rooster.createEntry("name", "user_id", null);
} catch (XMPPException e) {
e.printStackTrace();
}
我没有使用任何组,并且成功地在第二台设备上看到用户。