Невозможно получить присутствие в списке с помощью smack, openfire

Я новичок в привкус API. Я пытаюсь разработать приложение для чата, в котором я пытался настроить и получить информацию о присутствии.

Когда я меняю присутствие пользователя, он отлично работает, и это отражается на сервере Openfire.

Но когда я пытаюсь получить Присутствие пользователя, я всегда получаю статус «недоступен' даже если его присутствие в openfire показывает какимеется в наличии'.

Я использую следующий код для установки статуса.

        Presence presence = new Presence(Presence.Type.available);
        presence.setStatus("Online, Programmatically!");
        presence.setPriority(24);
        presence.setMode(Presence.Mode.available);
        user.getConnection().sendPacket(presence);

Я использую класс Ростера, чтобы получить присутствие следующим образом.

Roster roster = avatar.getRoster();
Collection entries = roster.getEntries();

for(RosterEntry rosterEntry: entries) {
    String user = rosterEntry.getUser();

    Presence presence = roster.getPresence(user);

    System.out.println("Presence : "+presence);                                     // 1
    System.out.println("Presence type: "+presence.getType());                // 2
    System.out.println("Presence mode: "+presence.getMode());             // 3

}

Линия № 1 alwasys дает 'недоступен' в то время как строки номер 2 и 3 всегда дают ноль

Я не могу выяснить причину этой проблемы. Пожалуйста, помогите мне решить эту проблему.

Заранее спасибо.

Ответы на вопрос(5)

Ваш ответ на вопрос