我使用QuickBlox API, 从示例应用程序,我可以得到我的account.But所有列表中的用户我想只显示在线可用的用户创建的聊天应用程序。我如何检索在线可用用户?QuickBlox:如何获得在线可用的用户列表
1
A
回答
2
我可以通过SMACK API使用XMPP连接的Rooster来获得QuickBlox聊天模块的在线用户。检查这个答案。
Can I get online users in my friend list via Smack?
您需要的在线用户进行聊天模块或其它一个?
干杯!
1
试试这个在线可用用户使用smack API。 名册花名册= xmppConnection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
Presence presence;
for(RosterEntry entry : entries) {
presence = roster.getPresence(entry.getUser());
System.out.println(entry.getUser());
System.out.println(presence.getType().name());
System.out.println(presence.getStatus());
}
用户检查是否在线(或)离线
Presence presence = roster.getPresence("[email protected]");
if (presence.getType() == Presence.Type.AVAILABLE) {
// Tom is online...
}
通过使用presence.getMode()方法来获取用户的方式。模式是enum,其值可以是聊天,可用,离开,xa,dnd。
0
XMPPConnection.addConnectionCreationListener(新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());
}
}
});
0
你可以做到这一点,如下:
1-定义名册
private SmackAndroid smackAndroid;
private Roster roster;
2-里面的onCreate,初始化smackAndroid并添加XMPPConnectionListener
smackAndroid = SmackAndroid.init(this);
XMPPConnection.addConnectionCreationListener(new ConnectionCreationListener() {
@Override
public void connectionCreated(Connection connection) {
roster = connection.getRoster();
}
});
3 - 你可以使用createEntry
try {
roster.createEntry("UserId", "userName", new String[] { "Friends" });
} catch (XMPPException e) {
e.printStackTrace();
}
4-你可以使用getEntry()
ArrayList<String> friends = new ArrayList<String>();
Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry entry : entries) {
friends.add(entry.getName());
}
相关问题
- 1. 如何获得Joomla 3中的离线用户列表?
- 2. 如何获得Linux上的可用无线网络列表?
- 3. 如何过滤Quickblox用户?
- 4. 获取quickblox聊天中的用户列表
- 5. 如何使用iOS SDK在Quickblox中获取用户ID?
- 6. 如何获取yii2中的在线用户列表
- 7. 如何获取ejabberd/XMPP中所有在线用户的列表?
- 8. 如何获取Authlogic中的在线用户列表?
- 9. 如何获得通用列表wpf C#中的userid用户名?
- 10. 如何获得已更新/更改Excel表的用户列表?
- 11. 如何在线或离线asmack获得用户,安卓
- 12. 我如何获得可用NSFont系列的列表?
- 13. 如何知道用户在quickblox for iOS中是在线还是离线?
- 14. 如何获得用户使用spotify web api的播放列表列表?
- 15. 如何获得喜欢我的Facebook页面的用户列表?
- 16. 如何获取用户系统上可用的ActiveX列表?
- 17. Facebook API:如何获得Facebook用户的关注者列表
- 18. 如何获得每小时登录用户总数的列表?
- 19. 如何获得创建帖子的所有用户列表
- 20. 如何获得vSphere VM的工作组和用户列表?
- 21. 如何获得编辑汇合页面的用户列表?
- 22. 我们如何获得列表的Active Directory用户信息
- 23. 我们如何获得Linux上的非系统用户列表?
- 24. 如何获得更新的用户列表JSF刷新
- 25. 我可以获得分配给项目的用户列表吗?
- 26. 如何使用NEHotspotHelper(IOS,objective-c)获得可用WiFi列表
- 27. 如何阻止Quickblox默认用户?
- 28. 如何获取Facebook应用程序的当前在线用户列表?
- 29. mysql:我如何获得可用的数据库列表?
- 30. JavaFX如何获得每个班级可用的活动列表?
感谢您的帮助条目形式名册添加用户名册。我得到了解决方案。但又有一个帮助,如何从QBSession获得XMPPConnection实例? – UdhayKannu 2013-03-07 05:07:57