差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
后一修订版 两侧同时换到之后的修订记录
im:android:basics:message [2020/06/09 11:24]
liujn [发送文件消息]
im:android:basics:message [2020/07/03 03:27]
liujn [发送图片消息]
行 12: 行 12:
 //​创建一条文本消息,content为消息文字内容,toChatUsername为对方用户或者群聊的id,后文皆是如此 //​创建一条文本消息,content为消息文字内容,toChatUsername为对方用户或者群聊的id,后文皆是如此
 EMMessage message = EMMessage.createTxtSendMessage(content,​ toChatUsername);​ EMMessage message = EMMessage.createTxtSendMessage(content,​ toChatUsername);​
 +//​如果是群聊,设置chattype,默认是单聊
 +if (chatType == CHATTYPE_GROUP)
 + message.setChatType(ChatType.GroupChat);​
 +//​发送消息
 +EMClient.getInstance().chatManager().sendMessage(message);​
 +</​code>​
 +
 +====发送表情消息====
 +发表情消息实质上是发文本消息。接收方收到文本消息后,首先查询文本消息是否是表情消息,如果是,则显示该文本消息为对应的表情图片。可以参考[[https://​unicode.org/​emoji/​charts/​full-emoji-list.html |emoji列表]]来做表情图片和对应的文本字符串的映射。也可以自行维护表情图片和文本字符串的映射。
 +<code java>
 +//​创建一条表情消息。表情消息实质上是一个文字消息。emojiCode是表情图片对应的文本字符串,toChatUsername为对方用户或者群聊的id,后文皆是如此
 +EMMessage message = EMMessage.createTxtSendMessage(emojiCode,​ toChatUsername);​
 //​如果是群聊,设置chattype,默认是单聊 //​如果是群聊,设置chattype,默认是单聊
 if (chatType == CHATTYPE_GROUP) if (chatType == CHATTYPE_GROUP)
行 29: 行 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>​
 ====发送视频消息==== ====发送视频消息====
  
行 40: 行 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>​
 ====发送图片消息==== ====发送图片消息====
  
行 51: 行 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>​
 ====发送地理位置消息==== ====发送地理位置消息====