Tidak menerima paket di pendengar paket saya

Kami menggunakan asmack (Saat ini di versi 4.0.3). Saya terjebak dengan versi itu hingga Februari. Pertanyaan pertama tentang SO dan baru muncul, jadi mohon bersabar. Saya menerima paket ini dengan tepat di Android (Ditampilkan di log debug).

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>

Filter paket saya

   PacketFilter presenceFilter = new AndFilter(new FromMatchesFilter(roomId + "@chat." + myUrl, true), new PacketTypeFilter(Presence.class));

    connectionXmpp.addPacketListener(myPacketListener, presenceFilter);

Pendengar paket saya

 private class myPacketListener implements PacketListener{
        @Override
        public void processPacket(Packet packet) throws NotConnectedException {
        Log.i(TAG," Packet to xml : "+packet.toXML());
    }
}

Bagaimana cara memproses xml itu dengan semua kontennya? Saya menerima dua kode status, saya perlu menguraikan keduanya. Bagaimana cara memproses semua data di tag "x". Pendengar paket saya mengembalikan banyak keluaran, tetapi tidak ada yang berisi kode status 301 atau properti bisu.

Terimakasih semuanya


person samory    schedule 17.10.2015    source sumber


Jawaban (1)


Coba tambahkan kode di bawah ini dalam metode processPacket untuk mendapatkan detail packet.

 @Override
    public void processPacket(Packet packet) throws NotConnectedException   
 {
    Log.i(TAG," Packet to xml : "+packet.toXML());
   //new code start
       Message message = (Message) packet;

            if (message.getType() == Message.Type.error) {
                return;
            }
            if (message.getBody() != null) {
 Log.i("Message==>",message.getBody());
 Log.i("Message From",message.getFrom())
            }
   //new code end
}
person pRaNaY    schedule 25.11.2015