如何创建自定义邀请消息以加入聊天室中的用户 - smack

时间:2016-07-19 06:36:24

标签: java xmpp openfire smack

我邀请离线用户加入群组,如下所示

myChattingRoom.invite("user7@10.10.1.105", "Please join my chatting room");

由于默认情况下邀请消息没有正文,因此当openfire重新上线时,openfire没有持有需要发送给用户7的邀请消息(据我所知,通过我的研究)。

当前发送的邀请信息如下,

<message to="user7@10.10.1.105" from="mychattingroom@conference.10.10.1.105"><x xmlns="http://jabber.org/protocol/muc#user"><invite  from="user1@10.10.1.105"><reason>Please join my chatting room</reason></invite></x><x xmlns="jabber:x:conference" jid="mychattingroom@conference.10.10.1.105"/></message>

现在,如何邀请用户使用包含空体的邀请消息?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这是我使用Smack 2.7.7的解决方案:

Message messageWithBody = new Message();
messageWithBody.addBody("", " ");
messageWithBody.setType(Message.Type.normal);
muc.invite(messageWithBody, "user7@10.10.1.105", "Please join my chatting room");

请注意,有延迟的投放邮件有几个限制,因此当离线用户上线时可能无法立即生效。