XMPP aSmack - How can I get the current user state (offline/online/away/etc.)?

前端 未结 5 2104
自闭症患者
自闭症患者 2020-12-08 15:54

I am new to xmpp/asmack in android.

Can anyone please help me in getting the presence of the user\'s friends ( roster list)

I am using this :



        
5条回答
  •  Happy的楠姐
    2020-12-08 16:53

    Just use like this :

    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;
    }
    

    Let me know if you have any problem regarding xmpp/asmack

提交回复
热议问题