检查Openfire的在线/离线用户,并使用Android自动接受好友请求
我正在android中使用openfire服务器。现在我需要检查有多少用户在线,他们是谁。我的连接正常。但是当我检查它时,输出是这样的 更改花名册条目时调用 姓名:esty 状态:不可用 更改花名册条目时调用 姓名:roni 状态:不可用 因此,如何检查谁在线或离线。另一个问题是如何自动接受请求。 求你了,我需要帮助 这是我的密码:检查Openfire的在线/离线用户,并使用Android自动接受好友请求,android,openfire,rostering,Android,Openfire,Rostering,我正在android中使用openfire服务器。现在我需要检查有多少用户在线,他们是谁。我的连接正常。但是当我检查它时,输出是这样的 更改花名册条目时调用 姓名:esty 状态:不可用 更改花名册条目时调用 姓名:roni 状态:不可用 因此,如何检查谁在线或离线。另一个问题是如何自动接受请求。 求你了,我需要帮助 这是我的密码: 您是否将其与LDAP一起使用?如果是,您可以进入用户/组,然后选择一个组。如果启用联系人列表组共享,则应该可以实现这一功能 启用联系人列表组共享。 有关详细信息,请
您是否将其与LDAP一起使用?如果是,您可以进入用户/组,然后选择一个组。如果启用联系人列表组共享,则应该可以实现这一功能 启用联系人列表组共享。 有关详细信息,请参见我的屏幕截图: 希望它能解决你的问题
public void OnlineUser()
{
final Roster sroster = connection.getRoster();
try {
sroster.createEntry("esty", "roni", null);
} catch (XMPPException e) {
e.printStackTrace();
}
Presence presence = new Presence(Presence.Type.available);
connection.sendPacket(presence);
// context.setConnection(Constants.connection);
// final Roster roster =connection.getRoster();
final Collection<RosterEntry> entries = sroster.getEntries();
sroster.addRosterListener(new RosterListener() {
@Override
public void presenceChanged(Presence presence) {
//Called when the presence of a roster entry is changed
for (RosterEntry entry : entries) {
Log.v("roni", "Called when the presence of a roster entry is changed ");
Presence entryPresence = sroster.getPresence(entry.getUser());
Presence.Type type = entryPresence.getType();
uName =entry.getName().toString();
uStatus=type.toString();
Log.v("roni", "Name: " + entry.getName().toString());
Log.v("roni", "Status: " +type.toString());
}
}
@Override
public void entriesUpdated(Collection<String> arg0) {
// Called when a roster entries are updated.
for (RosterEntry entry : entries) {
Log.v("roni", "Called when a roster entries are updated ");
Presence entryPresence = sroster.getPresence(entry.getUser());
Presence.Type type = entryPresence.getType();
uName =entry.getName().toString();
uStatus=type.toString();
Log.v("roni", "Namne: " + entry.getName().toString());
Log.v("roni", "Status: " +type.toString());
}
}
@Override
public void entriesDeleted(Collection<String> arg0) {
// Called when a roster entries are removed.
for (RosterEntry entry : entries) {
Log.v("roni", "Called when a roster entries are removed. ");
Presence entryPresence = sroster.getPresence(entry.getUser());
Presence.Type type = entryPresence.getType();
uName =entry.getName().toString();
uStatus=type.toString();
Log.v("roni", "Namne: " + entry.getName().toString());
Log.v("roni", "Status: " +type.toString());
}
}
@Override
public void entriesAdded(Collection<String> arg0) {
// Called when a roster entries are added.
for (RosterEntry entry : entries) {
Log.v("roni", " Called when a roster entries are added. ");
Presence entryPresence = sroster.getPresence(entry.getUser());
Presence.Type type = entryPresence.getType();
uName =entry.getName().toString();
uStatus=type.toString();
Log.v("roni", "Namne: " + entry.getName().toString());
Log.v("roni", "Status: " +type.toString());
}
}
});