我的聊天应用程序有一个程序来设置用户的存在/模式状态,即 - 在线、离线、不可见、离开等。我正在使用以下代码执行此操作:-
presence = new Presence(Presence.Type.available);
if (USER_STATE.equalsIgnoreCase("Online")) {
presence.setMode(Presence.Mode.available);
setUserPresence(0);
}else if (USER_STATE.equalsIgnoreCase("Invisible")) {
presence.setMode(Presence.Mode.xa);
setUserPresence(1);
} else if (USER_STATE.equalsIgnoreCase("Away")) {
presence.setMode(Presence.Mode.away);
setUserPresence(2);
} else if (USER_STATE.equalsIgnoreCase("Busy")) {
presence.setMode(Presence.Mode.dnd);
setUserPresence(3);
}
在这里,当我将用户状态设置为离开或不可见等并注销用户时。现在,当用户再次登录时,我想获取自上次注销以来他之前设置的用户模式。我得到它: -
System.out.println("Loggeddd innn");
// Set presence to online!
Presence userPresence = new Presence(Presence.Type.available);
userPresence.setStatus("Hello CCM!");
userPresence.setPriority(24);
userPresence.setMode(userPresence.getMode());
connection.sendPacket(userPresence);
在这里我总是得到 NULLuser.getMode()
并且我总是得到状态为可用(显示在 openfire 门户中)
有人请帮忙吗?