присутствие asmack только для нескольких слушателей списка?

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

Вот как далеко я зашел..

Как я меняю присутствие:

public void setStatus(boolean available, String status) {

    Presence.Type type = available ? Type.available : Type.unavailable;
    Presence presence = new Presence(type);

    presence.setStatus(status);
    connection.sendPacket(presence);

}

Как я слушаю изменение присутствия:

roster.addRosterListener(new RosterListener() {

    public void entriesAdded(Collection<String> param) {
    }

    public void entriesDeleted(Collection<String> addresses) {
    }

    public void entriesUpdated(Collection<String> addresses) {
    }

    public void presenceChanged(Presence presence) {

        /* Do something when presence changed */

    });

Есть ли способ отправить изменение присутствия, например статус, только для выбранных списков?


person cesztoszule    schedule 05.09.2013    source источник
comment
Что вы подразумеваете под только для избранных списков?. Вы хотите отправить присутствие только для подмножества записей вашего списка?   -  person Flow    schedule 06.09.2013
comment
да, у меня есть свой список участников, но я не хочу, чтобы все получали мое присутствие, только те, кого я выберу из пункта меню. Это теория, я не знаю, возможно ли это.   -  person cesztoszule    schedule 09.09.2013
comment
привет @cesztoszule, как отправить изменение присутствия только как статус. Плиз помогите..   -  person sham.y    schedule 25.02.2015


Ответы (1)


Это можно контролировать с помощью XEP-0016: списки конфиденциальности.

Я не знаю, поддерживает ли smack это.

person Marc Van Daele    schedule 09.09.2013