Android基于XMPP Smack openfire 开发的聊天室(五) 【邀请、被邀请】
2016-01-25 13:00
375 查看
Android基于XMPP Smack openfire 开发的聊天室(五) 【邀请、被邀请】
标签:androidxmpp
2013-03-18 15:01
854人阅读 评论(0)
收藏
举报
1,邀请:
很简单的一句话,邀请的时候要传入被邀请者的JID,邀请信息可以为空。
[java]
view plaincopy
muc.invite(userjid, "进来我们聊妹子");
简单的同时我们要知道它发生了什么,当这句话执行会向服务器发送一段报文,如下:
[html]
view plaincopy
<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,被邀请
被邀请呢,我们可以开个监听吧,要不要进房间先不判断了,我这里如果有邀请就直接进房间。有需要的朋友可以自己琢磨:
[java]
view plaincopy
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);
}
});
相关文章推荐
- Android基于XMPP Smack openfire 开发的聊天室(四) 【创建房间、表单;报文】
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Gradle Android 引入os文件的3种方式
- Android基于XMPP Smack openfire 开发的聊天室(二) 【聊天信息、成员】
- 基于XMPP协议的Android即时通信系
- [Linphone Android] 应答请求
- Android基于XMPP Smack openfire 开发的聊天室(一)
- [Linphone Android] 带视频的呼叫
- android ADB很有用的命令,看你用过几个?
- [Linphone Android] 登录实现
- 【Android源码-PMS】(三)ApplicationInfo类解析
- Android程序打包过程
- Android中应用程序清除data/data,清除cache,超详细
- Android系统之路(初识MTK) ------ make update-api长按Power键添加Reboot项/内置默认Ringtone/SMS/Notification/Alarm删除系统铃声
- Android开发中通过源码彻底理解ListView工作原理【超详细】
- Android Studio 常见问题
- 使用ViewFlipper实现页面自动切换
- android自定义view实现流式布局(FlowLayout)和热门标签
- Android开发记录16-友盟第三方登录、分享实现
- 安卓开源框架universal-image-loader 的使用及一个实例(转载)