如何在消息asmack / smack中添加其他数据?

时间:2014-09-17 05:40:06

标签: android message smack asmack

我正在向(a)Smack和Openfire服务器发送消息。我成功地能够使用邮件正文发送消息。现在我需要通过消息发送一些额外的数据。我不想将字符串附加到数据,然后在接收后处理它。还有其他方法吗?还是有扩展?

2 个答案:

答案 0 :(得分:1)

使用自定义PacketExtension

答案 1 :(得分:1)

您可以使用setProperty和getProperty方法。

发送结束时:

Message msg=new Message("jid", Message.Type.chat);
msg.setProperty("key", "value");
connection.sendMessage(msg);

收到结束时:

PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
    packetListner=new PacketListener() {
        public void processPacket(Packet packet) {

            Message message = (Message) packet;
            String myData=message.getProperty("key").toString();
        }
    };
    connection.addPacketListener(packetListner, filter);