Мы используем asmack (в настоящее время в версии 4.0.3). Я придерживаюсь этой версии до февраля. Первый вопрос о SO и новый, чтобы нанести удар, поэтому, пожалуйста, несите меня. Я получаю этот пакет с smack на Android (отображается в журнале отладки).Не получает пакет в моем приемнике пакетов
RCV (1):
< presence xmlns="jabber:client"
from="[email protected]/d67d0529-cdb3-4842-872b-8968ad635194" to="[email protected]/d67d0529-cdb3-4842-872b-8968ad635194">
< x xmlns="http://jabber.org/protocol/muc#user">
< item affiliation="member"
role="participant"
name="my name"
type="web"
mute="false">
< /item>
< status xmlns="http://jabber.org/protocol/muc" code="301"></status>
< status xmlns="http://jabber.org/protocol/muc" code="110">< /status>
< /x>
< /presence>
Мой пакет Фильтр
PacketFilter presenceFilter = new AndFilter(new FromMatchesFilter(roomId + "@chat." + myUrl, true), new PacketTypeFilter(Presence.class));
connectionXmpp.addPacketListener(myPacketListener, presenceFilter);
Мой пакет Слушатель
private class myPacketListener implements PacketListener{
@Override
public void processPacket(Packet packet) throws NotConnectedException {
Log.i(TAG," Packet to xml : "+packet.toXML());
}
}
Как обработать этот XML со всем его содержанием? Я получаю два кода состояния, мне нужно их разобрать. Как обрабатывать все данные в теге «x». Мой прослушиватель пакетов возвращает кучу вывода, но ничего не содержит код статуса 301 или свойство mute.
Спасибо всем