Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
来源:互联网 发布:啪到哭是什么体验知乎 编辑:程序博客网 时间:2024/06/06 12:51
- <message
- from='darkcave@chat.shakespeare.lit/firstwitch'
- to='hecate@shakespeare.lit/broom'
- type='groupchat'>
- <body>Thrice the brinded cat hath mew'd.</body>
- <delay xmlns='urn:xmpp:delay'
- from='crone1@shakespeare.lit/desktop'
- stamp='2002-10-13T23:58:37Z'/>
- </message>
- <message
- from='darkcave@chat.shakespeare.lit/secondwitch'
- to='hecate@shakespeare.lit/broom'
- type='groupchat'>
- <body>Thrice and once the hedge-pig whined.</body>
- <delay xmlns='urn:xmpp:delay'
- from='wiccarocks@shakespeare.lit/laptop'
- stamp='2002-10-13T23:58:43Z'/>
- </message>
- <message
- from='darkcave@chat.shakespeare.lit/thirdwitch'
- to='hecate@shakespeare.lit/broom'
- type='groupchat'>
- <body>Harpier cries 'Tis time, 'tis time.</body>
- <delay xmlns='urn:xmpp:delay'
- from='hag66@shakespeare.lit/pda'
- stamp='2002-10-13T23:58:49Z'/>
- </message>
上边这段是一个聊天室返回的XML数据,是历史消息。就在这里要告诉大家的是,如果是新消息的话就没有<delay>节点。所以我们以这个为根据来判断。下边贴些我的代码,因为服务器被我们给改了,所以返回的有些出入。但八九不离十。原理一样。
- DelayInformation inf = (DelayInformation) message.getExtension(
- "x", "jabber:x:delay");
- System.out.println("判断消息");
- if (inf == null && count >= 1) {
- System.out.println("新消息来了");
- isHistory = true;
- } else {
- System.out.println("这是旧的消息");
- }
这段代码写哪里呢,就是写在消息的监听里头
- /**
- * PacketListener 通过一个规定的过滤器提供一个机制来监听数据包
- *
- * @author liaonaibo
- *
- */
- class ChatPacketListener implements PacketListener
- @Override
- public void processPacket(Packet packet)
好了,下边讲踢人吧
2,踢人:
踢人很简单,只要你是房主,或管理员什么的,主持人也行。这些高权限的才能有踢人的权限。
- // 踢人
- try {
- String nickName = affiliates.get(id);
- //得到的昵称包含的房间名和服务名的一段很长数据。好像是吧。哈哈,忘记了。所以截取吧
- muc.kickParticipant(nickName
- .substring(nickName.indexOf("]") + 1), "看你不爽就 踢了你");
- android.os.Message msg = new android.os.Message();
- msg.what = MEMBER;
- handler.sendMessage(msg);
- Toast.makeText(this, "哈哈,踹了你", Toast.LENGTH_LONG).show();
- } catch (XMPPException e) {
- e.printStackTrace();
- Toast.makeText(this, "你没有权利踢人", Toast.LENGTH_LONG).show();
- }
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Android基于XMPP Smack openfire 开发的聊天室(一)
- Android基于XMPP Smack openfire 开发的聊天室(一)
- Android基于XMPP Smack openfire 开发的聊天室
- Android基于XMPP Smack openfire 开发的聊天室
- Android基于XMPP Smack openfire 开发的聊天室
- Android基于XMPP Smack openfire 开发的聊天室(一)【会议服务、聊天室列表、加入】
- Android基于XMPP Smack openfire 开发的聊天室(一)【会议服务、聊天室列表、加入】
- Android基于XMPP Smack openfire 开发的聊天室(一)【会议服务、聊天室列表、加入】
- Android基于XMPP Smack openfire 开发的聊天室(一)【会议服务、聊天室列表、加入】
- Android基于XMPP Smack openfire 开发的聊天室(一)【会议服务、聊天室列表、加入】
- Android基于XMPP Smack openfire 开发的聊天室(二) 【聊天信息、成员】
- Android基于XMPP Smack openfire 开发的聊天室(四) 【创建房间、表单;报文】
- Android基于XMPP Smack openfire 开发的聊天室(五) 【邀请、被邀请】
- 关于while(cin>>str)结束的问题 .
- VRML参考节点
- NSTimer的一些知识
- openx平台登录后页面500状态码死掉
- informix中to_char(),to_date函数
- Android基于XMPP Smack openfire 开发的聊天室(三) 【新旧记录、踢人】
- Android开发优化之——从代码角度进行优化
- VRML域值的数据类型
- 数论概论笔记 第9章 同余式、幂与费马小定理
- 用java实现的文件和文件夹拷贝和转移
- Hyper-V CentOS 5.x安装Linux集成服务 v2.1
- 使用Ajax的Get和Post获取信息的入门示例
- ubuntu下面截图的方法
- Android基于XMPP Smack openfire 开发的聊天室(四) 【创建房间、表单;报文】