Java smack/Android asmack RosterListener
我一直在找。但是什么也找不到。我需要刷新rosterlistener联系人的状态。(离线/在线)。创建花名册时,我会:Java smack/Android asmack RosterListener,java,android,listener,smack,Java,Android,Listener,Smack,我一直在找。但是什么也找不到。我需要刷新rosterlistener联系人的状态。(离线/在线)。创建花名册时,我会: Presence presence = roster.getPresence(r.getUser()); if(presence.isAvailable()){ userstatus.add("online"); }else{ user
Presence presence = roster.getPresence(r.getUser());
if(presence.isAvailable()){
userstatus.add("online");
}else{
userstatus.add("offline");
}
userstatus是一个向量字符串,然后我用它生成一个字符串数组。在我的主程序中,我只检查这个stirng数组的脱机或联机状态。但如果用户离线/在线,该怎么办。我必须将侦听器放置在何处以及如何准确地使用它?您可以实现一个
RosterListener
,并使用该方法。下面的示例代码与中显示的代码完全相同
这将返回具有最高优先级和可用性的用户的状态值
Roster roster = con.getRoster();
roster.addRosterListener(new RosterListener() {
// Ignored events public void entriesAdded(Collection<String> addresses) {}
public void entriesDeleted(Collection<String> addresses) {}
public void entriesUpdated(Collection<String> addresses) {}
public void presenceChanged(Presence presence) {
System.out.println("Presence changed: " + presence.getFrom() + " " + presence);
}
});
String user = presence.getFrom();
Presence bestPresence = roster.getPresence(user);