我正在Android上创建一个聊天应用程序,并使用asmack库进行openfire xmpp。我被困在从服务器获取所有用户。我尝试了很多代码,但没有一个像我想要的那样工作。我需要在服务器上执行的操作是手动将用户添加到组中,然后使用
private ArrayList<String> getAllUsers(int num) {
ArrayList<String> users = new ArrayList<String>();
Roster roster = connection.getRoster();
System.out.println("**Number Users: " + roster.getEntryCount());
Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry entry : entries) {
users.add(entry.getName());
System.out.println("User: " + entry.getName());
}
System.out.println("**Number Users: " + roster.getEntryCount());
return users;
}
让用户进入我亲自创建的群组。我想得到的是openfire上可用的所有用户,或者是在openfire上将用户添加到特定组的方法。我怎么能这样做?
如果我可以通过使用组来获取用户,那么如何动态地将用户添加到特定组?
答案 0 :(得分:0)
使用Roaster
,如下所示。
Roster roster = Roster.getInstanceFor(connection);
Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry rosterEntry : entries){
System.out.println("xmpp.Roster.user "+ rosterEntry.getUser());
System.out.println("xmpp.Roster.type "+ rosterEntry.getType().name());
System.out.println("xmpp.Roster.presence "+ roster.getPresence(rosterEntry.getUser()).getType());
}