您的位置:首页 > 移动开发 > Android开发

Android基于XMPP Smack openfire 开发的聊天室(五) 【邀请、被邀请】

2012-05-24 16:20 363 查看
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);
}
});


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐