`
kurting615
  • 浏览: 95041 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

XMPP群聊截图后在历史消息中显示图片

    博客分类:
  • IM
 
阅读更多

截图后保存到xml中是用图片的信息来进行保存的,只需要通过图片的路径在本地找到对应的图片,加载到历史消息显示面板中即可。

代码如下

 String[] strs = body.split(" ");
							for(int i = 0; i < strs.length; i++){
								//表情
								if(strs[i].contains(":") || strs[i].contains("(") || strs[i].contains(")") ){
									try{
									URL emoticon_url = emoticonManager.getEmoticonURL(emoticonManager.getEmoticon(strs[i]));
									String emoticon_path = emoticon_url.getPath();
									emoticon_path = "file:///C|/" + emoticon_path.substring(emoticon_path.indexOf(":/") + 2);
									strs[i] = "<img src='"+ emoticon_path + "'/>";
								}catch (Exception e) {
								}finally{
								}
								}
								//截图
								if(strs[i].contains("Tmp://")){
									   String tmpPath = strs[i].substring(strs[i].indexOf("Tmp://") + 6, strs[i].indexOf("#"));
									   File rootPath =  new File(Spark.getSparkUserHome(), "/tempImages");
						                File f = new File(rootPath.getAbsolutePath(), tmpPath);
						                URL fileURL=null;
										try {
											fileURL = f.toURI().toURL();//本地URL  html可识别
										} catch (MalformedURLException e) {
											// TODO Auto-generated catch block
											e.printStackTrace();
										}
						                String file_path=fileURL.getPath();
						                file_path = "file:///C|/" + file_path.substring(file_path.indexOf(":/") + 2);
						                if(f.exists()){
						                	strs[i] = "<img src='"+ file_path + "'/>";
						                }else{
						                 	strs[i] = "<img src='"+ f.getAbsolutePath() + "'/>";
						                }
						                
								}
								if(strs[i].contains("&lt;img&gt;")){//自定义的标签<img>
									strs[i]= strs[i].substring(0,strs[i].indexOf("&lt;img&gt;"));
								}
								builder.append(strs[i]);
							}

 效果如图所示:


  • 大小: 83.8 KB
分享到:
评论

相关推荐

    ios xmpp群聊

    在iOS平台上实现XMPP群聊功能,涉及到的知识点包括XMPP框架的选择与使用、多用户聊天室的创建、用户身份验证、消息收发以及事件监听等。 首先,iOS开发中常用的XMPP框架有XMPPFramewok和SwiftXMPP等。XMPPFramewok...

    Flex实现的xmpp消息发送接收

    在这个特定的场景中,"Flex实现的xmpp消息发送接收"是指使用Flex技术来实现在Android、iOS等移动设备以及IE浏览器上的即时通讯功能。 XMPP(Extensible Messaging and Presence Protocol)是一种开放标准的协议,...

    XMPP 聊天、群聊、图片、语音

    XMPP 聊天、群聊、图片、语音,1、首家支持聊天室群聊 2、支持和微信一样的语音聊天,可以显示时长、未读状态,自动轮播未读语音; 3、支持发送图片、表情、GIF动画表情等; 4、数据库分库分表,速度极快,...

    ios-xmpp聊天界面.zip

    在iOS开发中,XMPP(Extensible Messaging and Presence Protocol)是一种常见的实时通信协议,常用于构建即时消息应用,如QQ、微信等。本项目“ios-xmpp聊天界面.zip”提供了实现QQ登录、注册、添加好友、删除好友...

    Android xmpp 文字、表情、语音、发送图片一起的demo

    在完成以上步骤后,你将拥有一个功能完备的Android XMPP聊天应用,支持文字、表情、语音和图片的发送。在实际开发中,还可以考虑增加群聊、文件传输、推送通知等功能,以满足更多需求。记住,实践是检验真理的唯一...

    XMPP协议高级消息处理

    - 描述了与消息流相关的特性,帮助理解消息在系统中的流转过程。 #### 九、安全性事项 - 讨论了实现高级消息处理过程中可能面临的安全挑战及其解决方案。 #### 十、IANA事项 - 详细说明了与IETF相关的一些注册和...

    中文版 xmpp协议之 可扩展消息出席协议:核心 RFC3920

    在实际应用中,XMPP被广泛应用于互联网中的即时通讯、实时通信以及在不同网络平台间的消息同步等场景。同时,它还支持多语言处理,为全球不同地区的开发者提供了便利。 总的来说,XMPP协议因其开放性、扩展性、实时...

    android的XMPP客户端

    文件传输在XMPP中通常通过XEP-0096(文件传输)扩展实现。这需要在客户端和服务器之间建立单独的文件传输通道,并通过IQ(信息查询)消息传递文件元数据和实际的文件数据。 此外,考虑到网络连接的不稳定性和用户...

    android xmpp 语音图片文本聊天

    在Android平台上实现XMPP协议的语音、图片和文本聊天功能是一项常见的需求,XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通讯协议,广泛应用于即时通讯应用的开发。以下将详细介绍如何在...

    XMPP协议中文参考指南

    XMPP的核心功能满足了RFC 2779中定义的基本即时消息和出席信息需求,如用户间的消息交换、出席信息共享、订阅与被订阅管理、联系人列表(在XMPP中称为"roster")维护以及通信屏蔽。同时,协议设计允许即时消息和出席...

    ejabberd 群聊 strophe.js 实现

    在XMPP中,群聊通常通过多用户聊天(MUC,Multi-User Chat)服务实现。MUC允许多个用户在一个聊天室中进行实时交流。在ejabberd服务器上,你可以创建并管理这些聊天室。 接下来,我们需要关注以下关键步骤: 1. **...

    XMPP-RFC3921(中文)

    - 描述了XMPP中如何建立会话的过程,包括客户端和服务器之间的认证与握手。 4. **交换消息**: - 阐述了发送和接收即时消息的方法,包括指定接收者、消息类型、主体等细节。 5. **交换出席信息**: - 客户端和...

    android下的XMPP对应smack-4.2.1,实现登录,注册,发单聊,加聊天室,发群聊等简单功能

    在这个项目中,我们利用Smack-4.2.1库来实现在Android上使用XMPP进行各种交互,如登录、注册、发送单聊消息、加入聊天室和发送群聊消息等基本功能。 首先,我们需要了解Smack-4.2.1。Smack是一个开源的Java库,专门...

    XMPP.rar_xmpp _通讯协议中文

    2. **实体与地址**:在XMPP中,所有参与通信的都是“实体”,如用户、服务器、组件等,它们都有唯一的全局JID(Jabber ID),类似于电子邮件地址,例如`user@domain.tld`。 3. **即时通讯**:XMPP支持一对一和多对...

    android XMPP 聊天 项目

    在XMPP中,群组通常被称为“多用户聊天室”(MUC)。首先,客户端需要创建一个新的MUC,指定房间名、主题和权限等参数。然后,其他用户可以通过加入这个房间参与群聊。在Android应用中,可以提供一个界面让用户搜索...

    基于XMPP协议的消息推送(内含有服务器和客户端)一看就懂 简单实用

    消息推送是XMPP的一个重要应用场景,特别是在移动设备上。传统的HTTP长轮询或短轮询方式在电池寿命和资源消耗上存在问题,而XMPP提供了更有效的方法。当服务器有新消息时,可以立即推送给已在线的客户端,无需客户端...

    xmpp手机端消息推送

    在手机端消息推送中,XMPP扮演着关键角色,它允许应用程序通过服务器进行双向通信,使得用户即使在后台也能接收到即时消息。Openfire是一个流行的开源XMPP服务器,它提供了强大的实时通讯能力,支持多种平台,包括...

    android基于xmpp实现消息推送1--相关文档

    本文将深入探讨如何在Android上基于XMPP协议实现消息推送,以及相关的技术细节。 首先,理解XMPP的基本原理是至关重要的。XMPP建立在TCP连接之上,通过XML流传输数据,使得服务器和客户端能够进行双向通信。它提供...

Global site tag (gtag.js) - Google Analytics