Я пытаюсь отправить чат с помощью Smack. Вот кодКак установить пользовательскую строку Message.Type в Smack?
Chat chat = connection.getChatManager().createChat("[email protected]", this);
Message _msg = new Message();
_msg.setBody("Hello this is a test message");
chat.sendMessage(_msg);
Это сообщение появляется в конце получателя с типом = "chat". Как изменить этот тип сообщения на пользовательскую строку, например. "My_custom_string"?
Я попробовал это, но это легко понять, почему следующий не будет работать
Message.Type _type = Message.Type.fromString("my_custom_string");
_msg.setType(_type);
Если вы нашли себя когда-либо в ситуации, когда вам нужно установить строку типа пользовательских сообщений, то вы должны пересмотреть свой дизайн! Это не способ изменения XMPP. Например, вы можете просто добавить пользовательский элемент под элементом сообщения (пакетное расширение в smack). – Flow
Как вы решили проблему? или просто расширяет сообщение, чтобы добавить пользовательский элемент? – Stony
Я решил это, используя поле subject для указания настраиваемых типов. Более общим решением было бы реализовать предложение Flow –