【发布时间】:2014-01-28 08:31:22
【问题描述】:
我正在尝试使用 Smack 发送聊天。这是代码
Chat chat = connection.getChatManager().createChat("2@coolcast.com", this);
Message _msg = new Message();
_msg.setBody("Hello this is a test message");
chat.sendMessage(_msg);
此消息以 type = "chat" 显示在收件人的末尾。如何将此消息类型更改为自定义字符串,例如“我的自定义字符串”?
我试过了,但很容易看出为什么以下方法不起作用
Message.Type _type = Message.Type.fromString("my_custom_string");
_msg.setType(_type);
【问题讨论】:
-
如果您发现自己需要设置自定义消息类型字符串,那么您应该重新考虑您的设计!这不是应该如何修改 XMPP 的方式。例如,您可以简单地在消息元素下添加一个自定义元素(smack 中的数据包扩展)。
-
你是如何解决这个问题的?还是只是扩展 Message 以添加自定义元素?
-
我通过使用主题字段来指定自定义类型来解决它。更通用的解决方案是实施 Flow 的建议