2014-01-08 1 views
2

Я пишу чат-приложение в android с помощью xmpp и smack api. Чат работает успешно, когда я вхожу в идентификатор электронной почты конкретного друга для отправки chat.but, я не могу получить список пользователей офлайн/онлайн. Пожалуйста, предложите, как получить список пользователей, использующих xmpp smack ..?Как получить список офлайн-пользователей в чате с помощью smack api в android

ответ

7

Вы должны сделать 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); 

      } 

А затем добавьте USERLIST к вашему ListAdapter и проверить статус равен «в Карелии», то пользователь онлайн в противном случае пользователь Не в сети.

+0

Возможно, у вас есть ссылка или демо. Возможно? – meera

+0

нет дорогих нет никакой демонстрации для этого вы должны сделать это сами. – AnAndroid

+1

Что такое "Constants"? –

Смежные вопросы