2014-09-17 1 views
0

Я отправляю сообщение с (a) сервером Smack и Openfire. Я успешно могу отправить сообщение с телом сообщения. Теперь мне нужно отправить некоторые дополнительные данные с сообщением. Я не хочу добавлять строку к данным, а затем обрабатывать ее после получения. Есть ли другой подход? или с расширениями?Как добавить дополнительные данные в сообщение asmack/smack?

ответ

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); 
+0

Вы должны добавить больше информации - особенно, как это будет выглядеть и что является преимуществом по сравнению с принятым ответом. –

+0

его легкий подход –

+0

Я не знаю smack - так что я не могу решить, правильный ли ваш ответ. Но обычно это знак низкого качества, если ответ состоит только из одного предложения - и поэтому ваш ответ был в очереди низкого качества для обзора. Теперь значение вашего ответа намного выше, и я думаю, что это поможет кому-то, у кого такая же проблема. –