Как получить список офлайн/онлайн-пользователей в чате с помощью smack api в android

Я пишу приложение для чата в Android, используя xmpp и smack api. Чат работает успешно, когда я ввожу идентификатор электронной почты конкретного друга для отправки чата. Но я не могу получить список пользователей в автономном режиме / онлайн. Пожалуйста, предложите, как получить список пользователей, используя xmpp smack ..?


person meera    schedule 08.01.2014    source источник


Ответы (1)


Вы должны сделать listView, чтобы получить список пользователей и попробовать этот код

 public static  ArrayList<HashMap<String, String>> usersList=new ArrayList<HashMap<String, String>>();


            Presence presence = new Presence(Presence.Type.available);
            Constants.connection.sendPacket(presence);
            setConnection(Constants.connection);

            final Roster roster = Constants.connection.getRoster();
            Collection<RosterEntry> entries = roster.getEntries();

            for (RosterEntry entry : entries) {

                    HashMap<String, String> map = new HashMap<String, String>();
                    Presence entryPresence = roster.getPresence(entry.getUser());

                    Presence.Type type = entryPresence.getType();       

                    map.put("USER", entry.getName().toString());
                    map.put("STATUS", type.toString());
                    Log.e("USER", entry.getName().toString());

                    usersList.add(map);

            }

Затем добавьте свой список пользователей в свой ListAdapter и проверьте, что STATUS равен «avialable», тогда пользователь находится в сети, иначе пользователь находится в автономном режиме.

person AnAndroid    schedule 08.01.2014
comment
не могли бы вы предоставить ссылку или demo.if возможно? - person meera; 09.01.2014
comment
нет, дорогой, для этого нет никакой демонстрации, ты должен сделать это сам. - person AnAndroid; 09.01.2014
comment
@RishabhSrivastava-константа - это класс констант, это не имеет значения. вы можете добавить свою переменную в свой собственный класс. - person AnAndroid; 16.10.2014
comment
Использование того же кода, но не отображается онлайн-справка user.plz - person Nitesh Khosla; 18.05.2015