差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
im:android:basics:message [2020/06/25 02:51]
haoyu [发送表情消息]
im:android:basics:message [2020/07/03 03:39] (当前版本)
liujn
行 41: 行 41:
 EMClient.getInstance().chatManager().sendMessage(message);​ EMClient.getInstance().chatManager().sendMessage(message);​
 </​code>​ </​code>​
 +发送成功后,获取语音消息附件: 
 +<​code>​ 
 +EMVoiceMessageBody voiceBody = (EMVoiceMessageBody) msg.getBody();​ 
 +//​获取语音文件在服务器的地址 
 +String voiceRemoteUrl = voiceBody.getRemoteUrl();​ 
 +//​本地语音文件的资源路径 
 +Uri voiceLocalUri = voiceBody.getLocalUri();​ 
 +</​code>​
 ====发送视频消息==== ====发送视频消息====
  
行 52: 行 59:
 EMClient.getInstance().chatManager().sendMessage(message);​ EMClient.getInstance().chatManager().sendMessage(message);​
 </​code>​ </​code>​
 +发送成功后,获取视频消息缩略图及附件 
 +<​code>​ 
 +EMVideoMessageBody videoBody = (EMVideoMessageBody) message.getBody();​ 
 +//​获取视频文件在服务器的路径 
 +String videoRemoteUrl = videoBody.getRemoteUrl();​ 
 +//​获取缩略图在服务器的路径 
 +String thumbnailUrl = videoBody.getThumbnailUrl();​ 
 +//​本地视频文件的资源路径 
 +Uri videoLocalUri = videoBody.getLocalUri();​ 
 +//​本地视频缩略图资源路径 
 +Uri localThumbUri = videoBody.getLocalThumbUri();​ 
 +</​code>​
 ====发送图片消息==== ====发送图片消息====
  
行 63: 行 81:
 EMClient.getInstance().chatManager().sendMessage(message);​ EMClient.getInstance().chatManager().sendMessage(message);​
 </​code>​ </​code>​
 +发送成功后,获取图片消息缩略图及附件 
 +<​code>​ 
 +EMImageMessageBody imgBody = (EMImageMessageBody) message.getBody();​ 
 +//​获取图片文件在服务器的路径 
 +String imgRemoteUrl = imgBody.getRemoteUrl();​ 
 +//​获取图片缩略图在服务器的路径 
 +String thumbnailUrl = imgBody.getThumbnailUrl();​ 
 +//​本地图片文件的资源路径 
 +Uri imgLocalUri = imgBody.getLocalUri();​ 
 +//​本地图片缩略图资源路径 
 +Uri thumbnailLocalUri = imgBody.thumbnailLocalUri();​ 
 +</​code>​
 ====发送地理位置消息==== ====发送地理位置消息====
  
行 85: 行 114:
 EMClient.getInstance().chatManager().sendMessage(message);​ EMClient.getInstance().chatManager().sendMessage(message);​
 </​code>​ </​code>​
 +发送成功后,获取文件消息附件 
 +<​code>​ 
 +EMNormalFileMessageBody fileMessageBody = (EMNormalFileMessageBody) message.getBody();​ 
 +//​获取文件在服务器的路径 
 +String fileRemoteUrl = fileMessageBody.getRemoteUrl();​ 
 +//​本地文件的资源路径 
 +Uri fileLocalUri = fileMessageBody.getLocalUri();​ 
 +</​code>​
 ==== 发送透传消息 ==== ==== 发送透传消息 ====
  
行 187: 行 223:
 EMClient.getInstance().chatManager().removeMessageListener(msgListener);​ EMClient.getInstance().chatManager().removeMessageListener(msgListener);​
 </​code>​ </​code>​
 +===== 下载缩略图及附件 =====
 +
 +==== 下载缩略图 ====
 +
 +如果设置了自动下载,即EMClient.getInstance().getOptions().getAutodownloadThumbnail()为true,SDK接收到消息后会下载缩略图;\\
 +如果没有设置自动下载,需主动调用EMClient.getInstance().chatManager().downloadThumbnail(message)下载。\\
 +下载完成后,调用相应消息body的thumbnailLocalUri()去获取缩略图路径。\\
 +例如:
 +<​code>​
 +EMImageMessageBody imgBody = (EMImageMessageBody) message.getBody();​
 +//​本地图片缩略图资源路径
 +Uri thumbnailLocalUri = imgBody.thumbnailLocalUri();​
 +</​code>​
 +==== 下载附件 ====
 +
 +下载附件的方法为:EMClient.getInstance().chatManager().downloadAttachment(message);​\\
 +下载完成后,调用相应消息body的getLocalUri()去获取附件路径。\\
 +例如:
 +<​code>​
 +EMImageMessageBody imgBody = (EMImageMessageBody) message.getBody();​
 +//​本地图片文件的资源路径
 +Uri imgLocalUri = imgBody.getLocalUri();​
 +</​code>​
 +
 ===== 监听消息状态 ===== ===== 监听消息状态 =====