注册即时通讯云 注册客服云

环信即时通讯 IM SDK(Android)消息类型与发送示例


说明:以下通讯内容仅在业务代码调用对应发送接口时才会产生并上传至服务端;未调用相应 API 时不会触发对应类型的消息传输。

适用:Android 平台,Java API 以环信 Chat SDK 为准。

1. 文本消息(TXT)

EMMessage msg = EMMessage.createTextSendMessage("这是一条文字消息", to);
EMClient.getInstance().chatManager().sendMessage(msg);

2. 图片消息(IMAGE)

EMMessage msg = EMMessage.createImageSendMessage("/sdcard/pic.jpg", false, to);
EMClient.getInstance().chatManager().sendMessage(msg);

3. 语音消息(VOICE)

EMMessage msg = EMMessage.createVoiceSendMessage("/sdcard/voice.amr", 10, to);
EMClient.getInstance().chatManager().sendMessage(msg);

4. 视频消息(VIDEO)

EMMessage msg = EMMessage.createVideoSendMessage(
    "/sdcard/demo.mp4", "/sdcard/demo_thumb.jpg", 30, to);
EMClient.getInstance().chatManager().sendMessage(msg);

5. 文件消息(FILE)

EMMessage msg = EMMessage.createFileSendMessage("/sdcard/report.pdf", to);
EMClient.getInstance().chatManager().sendMessage(msg);

6. 位置消息(LOCATION)

EMMessage msg = EMMessage.createLocationSendMessage(
    39.9042, 116.4074, "北京市东城区", to);
EMClient.getInstance().chatManager().sendMessage(msg);

7. 透传 / 命令消息(CMD)

EMMessage msg = EMMessage.createSendMessage(EMMessage.Type.CMD);
msg.setTo(to);
msg.addBody(new EMCmdMessageBody("action"));
EMClient.getInstance().chatManager().sendMessage(msg);

8. 自定义消息(CUSTOM)

EMMessage msg = EMMessage.createSendMessage(EMMessage.Type.CUSTOM);
String event = "gift";
EMCustomMessageBody body = new EMCustomMessageBody(event);
java.util.Map<String, String> params = new java.util.HashMap<>();
params.put("key1", "value1");
body.setParams(params);
msg.addBody(body);
msg.setTo(to);
msg.setChatType(EMMessage.ChatType.Chat);
EMClient.getInstance().chatManager().sendMessage(msg);

9. 合并转发消息(COMBINE)

java.util.List<String> ids = java.util.Arrays.asList("msgId1", "msgId2");
EMMessage msg = EMMessage.createCombinedSendMessage(
    "聊天记录", "摘要", "兼容文本", ids, to);
EMClient.getInstance().chatManager().sendMessage(msg);

类型与工厂方法对照(Android)

消息类型 主要创建方式
TXT / 文本 createTextSendMessage
IMAGE / 图片 createImageSendMessage
VOICE / 语音 createVoiceSendMessage
VIDEO / 视频 createVideoSendMessage
FILE / 文件 createFileSendMessage
LOCATION / 位置 createLocationSendMessage
CMD / 命令 createSendMessage(Type.CMD) + EMCmdMessageBody
CUSTOM / 自定义 createSendMessage(Type.CUSTOM) + EMCustomMessageBody
COMBINE / 合并转发 createCombinedSendMessage


申请试用

提交后工作人员会尽快与您联系进行功能演示
技术咨询已转移到管理后台,请先登录

即时通讯云使用者请在应用详情页面咨询
客服云使用者请进入管理员模式咨询

×

电话咨询

免费试用

环信即时通讯云——100注册用户永久免费
环信MQTT——免费开通 每月赠送额度
环信PUSH——1000个DAU免费

注册享福利、赢好礼

立即体验