1,邀请:
很简单的一句话,邀请的时候要传入被邀请者的JID,邀请信息可以为空。
- muc.invite(userjid, "进来我们聊妹子");
简单的同时我们要知道它发生了什么,当这句话执行会向服务器发送一段报文,如下:
- <message
- from='crone1@shakespeare.lit/desktop'
- to='darkcave@chat.shakespeare.lit'>
- <x xmlns='http://jabber.org/protocol/muc#user'>
- <invite to='hecate@shakespeare.lit'>
- <reason>
- 进来我们聊妹子
- </reason>
- </invite>
- </x>
- </message>
2,被邀请
被邀请呢,我们可以开个监听吧,要不要进房间先不判断了,我这里如果有邀请就直接进房间。有需要的朋友可以自己琢磨:
- MultiUserChat.addInvitationListener(Constants.conn,
- new InvitationListener() {
- // 对应参数:连接、 房间JID、房间名、附带内容、密码、消息
- @Override
- public void invitationReceived(Connection conn,
- String room, String inviter, String reason,
- String password, Message message) {
- Log.i(TAG, "收到来自 " + inviter + " 的聊天室邀请。邀请附带内容:"
- + reason);
- Intent intent = new Intent(MucService.this,
- ActivityMultiRoom.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.putExtra("jid", room);
- intent.putExtra("action", "join");
- startActivity(intent);
- }
- });