Android 环信扩展消息(自定义消息)

之前集成即时通讯(环信)的时候,需要用到自定义消息的功能。而在开发过程中遇到了许多的问题,之前工作比较忙,现在有时间了记录一下。

第一步:

首先,在聊天界面添加一个发送扩展消息的MenuItem:

ChatFragment类中定义一个常量,用来ItemId。

private static final int RECORDS = 20;

registerExtendMenuIte()方法中注册MenuItem:

inputMenu.registerExtendMenuItem("名片", R.drawable.ease_blue_add, RECORDS, extendMenuItemClickListener);

在onExtendMenuItemClick()方法中设置点击事件,发送消息:


注意:一定要设置聊天的类型,默认是单聊,如果不设置,那么在群组或者是聊天室等多人聊天时,对方是无法接收到正确消息的。

//设置消息类型,默认是单聊,如果不设置,在群聊中就收不到消息
if (chatType == EaseConstant.CHATTYPE_GROUP) {
    message.setChatType(EMMessage.ChatType.GroupChat);
} else if (chatType == EaseConstant.CHATTYPE_CHATROOM) {
    message.setChatType(EMMessage.ChatType.ChatRoom);
}

第二步:

在easeui库中找的EaseMessageAdapter类(这个是消息适配器)。

定义两个常量,用于表示消息类型(注意:扩展一种消息类型,需要定义两个常量:接收+发送):

private static final int MESSAGE_TYPE_SENT_RECORDS = 14;
private static final int MESSAGE_TYPE_RECV_RECORDS = 15;

getViewTypeCount()修改返回的消息类型:+2(每扩展一种消息类型,返回的数值+2)


在getItemViewType()方法中设置返回的消息类型,并+2:



在createChatRow()方法中设置消息的类:


其中EaseChatRowRecords类,是自己定义的消息类型,继承EaseChatRow类:


到此已经完成了扩展消息的开发。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值