Мы используем 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 или свойство отключения звука.
Всем спасибо