Anybody can help me ?
i tryed many times but just can’t get the packet PacketExtension
the raw data i received is:
no
and i use packet listener to receive the packet and print like this:
mising the element:
no
i have search the problem and found that i did not provide a PacketExtensionProvider, so i implement the interface PacketExtensionProvider and PacketExtension and add to the provider manager:
ProviderManager.getInstance().addIQProvider(GiftExtention.ELEMENT_NAME, GiftExtention.NAMESPACE, new IqProvider());
but still can’t get the extention!
and i then read the document api org.jivesoftware.smack.provider Class ProviderManager,it says like this:
When an extension provider is not registered for an element name and namespace combination, Smack will store all top-level elements of the sub-packet in DefaultPacketExtension object and then attach it to the packet.
so i use:
xmppConnection.addPacketListener(new PacketListener() {
public void processPacket(Packet packet)
{
System.out.println("process received Packet: "+packet.toXML());
Collection packetExtensions = packet.getExtensions();
for(PacketExtension packetExtension:packetExtensions){
System.out.println(packetExtension.toXML());
}
}
}, null);
to print all the extentions,but i still can’t get the element.
so iam there aksing for help, can someone help me with this?