XMPP aSmack - 如何获取当前用户状态(离线/在线/离开/等)?

sam*_*sad 18 android xmpp smack asmack

我是android的新手xmpp/asmack.

谁能帮助我获得用户朋友的存在(名单)

我用这个:

Presence availability = roster.getPresence(user);
Mode userMode = availability.getMode();
Run Code Online (Sandbox Code Playgroud)

我还应该做些什么来获取我名单中列出的每个用户的可用性状态.

Gau*_*ora 19

就像这样使用:

Presence availability = roster.getPresence(user);
Mode userMode = availability.getMode();

retrieveState_mode(availability.getMode(),availability.isAvailable());

public static int retrieveState_mode(Mode userMode, boolean isOnline) {
        int userState = 0;
        /** 0 for offline, 1 for online, 2 for away,3 for busy*/
        if(userMode == Mode.dnd) {
            userState = 3;
        } else if (userMode == Mode.away || userMode == Mode.xa) {   
            userState = 2;
        } else if (isOnline) {
            userState = 1;
        }
        return userState;
}
Run Code Online (Sandbox Code Playgroud)

如果您对xmpp/asmack有任何疑问,请告诉我

  • 嗨@GauravArora请看这个http://pastebin.com/j113RzV6我总是得到用户模式为0.如果我遗漏任何东西请告诉我.. (2认同)