Что вы хотите сделать, так это добавить расширение к текстовому сообщению. Вот приблизительное руководство.
Chat chat = connection.getChatManager().createChat(to, this);
Message message = new Message(to, Message.Type.chat);
message.setBody("hello");
message.setProperty(prop0, val0);
message.setProperty(prop1, val1);
chat.sendMessage(message)
Свойства выполняются в отдельном пространстве имен (используйте toXML()
смотреть на него) и не будет отображаться в окне чата. На «другой стороне» приложения используют getProperty()
для получения значения.
Если вы не хотите пары ключ/значение, но структурированные данные, используйте addExtension()
в теле сообщения. Это немного сложнее, потому что вам в основном нужно расширить PacketExtension
, предоставить свое собственное пространство имен. Возможно, вам даже придется написать PacketExtensionProvider
.