我正在使用此代码来获取用户的状态
Roster roster = connection.getRoster();
Presence userPresence = roster.getPresence(name + "@" + HOST);
但是,尽管用户在线,但
userPresence
始终返回"unavailable"
。那么我在做什么错,我该如何获取用户的状态?
最佳答案
首先尝试使用以下方法在集合中获取RosterEntries
Collection<RosterEntry> collection = roster.getEntries();
然后尝试遍历每个条目并检查是否存在
for (RosterEntry rosterEntry : collection)
{
Presence presence = null;
presence = roster.getPresence(rosterEntry.getUser());
if(presence.isAvailable())
{
//Do Something
}
else{
//Do Something else
}
}