我是新来的粉碎API.我正在尝试开发一个聊天应用程序,我正在尝试设置和获取存在.
当我改变用户的存在时,它的工作完全正常并且它会在Openfire服务器中反映出来.
但是当我试图获得用户的存在时,即使他在openfire中的存在显示为"可用",我也总是将状态设置为"不可用".
我使用以下代码来设置状态.
Presence presence = new Presence(Presence.Type.available);
presence.setStatus("Online, Programmatically!");
presence.setPriority(24);
presence.setMode(Presence.Mode.available);
user.getConnection().sendPacket(presence);
Run Code Online (Sandbox Code Playgroud)
我正在使用Roster类来获得如下存在.
Roster roster = avatar.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
for(RosterEntry rosterEntry: entries) {
String user = rosterEntry.getUser();
Presence presence = roster.getPresence(user);
System.out.println("Presence : "+presence); // 1
System.out.println("Presence type: "+presence.getType()); // 2
System.out.println("Presence mode: "+presence.getMode()); // 3
}
Run Code Online (Sandbox Code Playgroud)
第1行alwasys给出'不可用',第2行和第3行总是给出null
我无法弄清楚这个问题的原因.请帮我解决这个问题.
提前致谢.