เรากำลังใช้ asmack (ปัจจุบันเป็นเวอร์ชัน 4.0.3) ฉันติดอยู่กับเวอร์ชันนั้นจนถึงเดือนกุมภาพันธ์ คำถามแรกเกี่ยวกับ SO และคำถามใหม่ที่จะตบ ดังนั้นโปรดอดทนกับฉันด้วย ฉันได้รับแพ็กเก็ตนี้พร้อม smack บน Android (แสดงในบันทึกการแก้ไขข้อบกพร่อง)
อาร์ซีวี (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 หรือคุณสมบัติปิดเสียง
ขอบคุณทุกคน