public interface ECChatManager
可以使用该接口将ECMessage
对象发送到服务器a
标准的发送一个文本、图片或者附件消息代码如下:
try { // 组建一个待发送的ECMessage ECMessage msg = ECMessage.createECMessage(ECMessage.Type.TXT); //设置消息的属性:发出者,接受者,发送时间等 msg.setForm("$Tony的账号"); msg.setMsgTime(System.currentTimeMillis()); // 设置消息接收者 msg.setTo("$John的账号"); msg.setSessionId("$John的账号"); // 设置消息发送类型(发送或者接收) msg.setDirection(ECMessage.Direction.SEND); // 创建一个文本消息体,并添加到消息对象中 ECTextMessageBody msgBody = new ECTextMessageBody(text.toString()); // 或者创建一个图片消息体 并且设置附件包体(其实图片也是相当于附件) // 比如我们发送SD卡里面的一张Tony_2015.jpg图片 ECImageMessageBody msgBody = new ECImageMessageBody(); // 设置附件名 msgBody.setFileName("Tony_2015.jpg"); // 设置附件扩展名 msgBody.setFileExt("jpg"); // 设置附件本地路径 msgBody.setLocalUrl("../Tony_2015.jpg"); // 或者创建一个创建附件消息体 // 比如我们发送SD卡里面的一个Tony_2015.zip文件 ECFileMessageBody msgBody = new ECFileMessageBody(); // 设置附件名 msgBody.setFileName("Tony_2015.zip"); // 设置附件扩展名 msgBody.setFileExt(zip); // 设置附件本地路径 msgBody.setLocalUrl("../Tony_2015.zip"); // 设置附件长度 msgBody.setLength("$Tony_2015.zip文件大小"); // 将消息体存放到ECMessage中 msg.setBody(msgBody); // 调用SDK发送接口发送消息到服务器 ECChatManager manager = ECDevice.getECChatManager(); manager.sendMessage(msg, new ECChatManager.OnSendMessageListener() { public void onSendMessageComplete(ECError error, ECMessage message) { // 处理消息发送结果 if(message == null) { return ; } // 将发送的消息更新到本地数据库并刷新UI } public void onProgress(String msgId, int totalByte, int progressByte) { // 处理文件发送上传进度(尽上传文件、图片时候SDK回调该方法) } public void onComplete(ECError error) { // 忽略 } }); } catch (Exception e) { // 处理发送异常 Log.e("ECSDK_Demo", "send message fail , e=" + e.getMessage()); }
java.lang.String sendMessage(ECMessage message, ECChatManager.OnSendMessageListener l)
message
- 待发送的IM消息l
- 发送结果回调@Deprecated void startVoiceRecording(ECMessage msg, ECChatManager.OnRecordTimeoutListener l) throws com.yuntongxun.ecsdk.exception.ECRecordException
com.yuntongxun.ecsdk.exception.ECRecordException
startVoiceRecording(ECVoiceMessageBody, OnRecordTimeoutListener)
void startVoiceRecording(ECVoiceMessageBody body, ECChatManager.OnRecordTimeoutListener listener) throws com.yuntongxun.ecsdk.exception.ECRecordException
body
- 包含语音录制保存路径ECVoiceMessageBody
)listener
- 录制语音消息回调com.yuntongxun.ecsdk.exception.ECRecordException
void stopVoiceRecording(ECChatManager.OnStopVoiceRecordingListener listener)
sendMessage(ECMessage, OnSendMessageListener)
发送该消息ECError cancelSendMessage(ECMessage message)
message
- 需要取消发送的消息void downloadMediaMessage(ECMessage message, ECChatManager.OnDownloadMessageListener listener)
message
- 需要下载的多媒体消息listener
- 下载消息回调接口void downloadThumbnailMessage(ECMessage message, ECChatManager.OnDownloadMessageListener listener)
message
- 需要下载的缩略图消息listener
- 下载消息回调接口@Deprecated void setPersonInfo(java.lang.String nickname, PersonInfo.Sex sex, java.lang.String birth, ECChatManager.OnSetPersonInfoListener l)
nickname
- 昵称sex
- 性别birth
- 生日l
- 方法执行结果回调性别
@Deprecated void setPersonInfo(PersonInfo info, ECChatManager.OnSetPersonInfoListener listener)
@Deprecated void getPersonInfo(ECChatManager.OnGetPersonInfoListener listener)
@Deprecated void getPersonInfo(java.lang.String username, ECChatManager.OnGetPersonInfoListener listener)
void deleteMessage(ECMessage delMessage, ECChatManager.OnDeleteMessageListener listener)
delMessage
- 需要删除的消息listener
- 删除消息回调接口void revokeMessage(ECMessage revMessage, ECChatManager.OnRevokeMessageListener listener)
revMessage
- 需要撤回的消息listener
- 回调监听void changeVoice(Parameters parameters, ECChatManager.OnChangeVoiceListener listener)
parameters
- 处理参数listener
- 处理结果回调接口void setSessionToTop(java.lang.String contact, boolean isTop, ECChatManager.OnSetContactToTopListener listener)
contact
- 会话idisTop
- 是否置顶listener
- 回调监听void getSessionsOfTop(ECChatManager.OnGetSessionsOfTopListener listener)
listener
- void queryMessageReadStatus(ECMessage message, ECChatManager.OnQueryMessageReadStatusListener listener)
message
- listener
- void getRedpacketToken(ECChatManager.OnGetRedPacketTokenListener listener)
void readMessage(ECMessage message, ECChatManager.OnReadMessageListener listener)
message
- 需要设置的消息listener
- 回调监听Copyright © 2017 All rights reserved.