android 环信IM 环信 自定义扩展消息

    xiaoxiao2026-06-22  1

    参考环信官方文档 : http://docs.easemob.com/start/200androidcleintintegration/100customizedextension

    官方参考社区文档 : http://www.imgeek.org/search/q-6Ieq5a6a5LmJ5omp5bGV5raI5oGv#all

    参考个人社区 名片集成 : http://www.imgeek.org/article/825307924

    个人使用的是环信2.0 以下名片集成是环信 3.0 不过对应参考着设计是没问题的

    2.0情况下:

    1. 主要是修改ChatActivity.java相关联的listview的MessageAdapter.java中的以下方法:

    getItem(int) getItemId(int) getViewTypeCount() getItemViewType(int) getView(int, View, ViewGroup)

    2.修改好了聊天页面后,再来修改聊天历史列表页面ChatAllHistoryFragment.java下的ChatAllHistoryAdapter

    修改完这两步基本就可以实现了自定义扩展功能了,而环信官方给出的demo中,语音通话、视频通话就是通过自定义Type.TXT方式实现的。具体可以参考这两个功能怎么实现发送展示item。

    下面给出环信参考3.0的修改方法(转载自文章开头社区    名片集成  案例   -----   个人社区 名片集成 : http://www.imgeek.org/article/825307924):

    android扩展消息(名片集成)

    很多社交软件都少不了名片这种东西,可是,用环信怎么去解决这个名片问题呢。 首先呢,大家要注意环信IOS版的扩展消息ext不能接收json格式数据。。。(之前不知道,ios把我坑了一次) 接下来,我就给大家来集成下名片消息 要想在ios端显示出来,那么必须两个客户端的扩展字段必须相同,这个大家一定要知道 我的扩展字段是这样的,上面也解释的很清楚,大家不要看错,是名片上的,不是自己的id,昵称 接下来我们要去定义几个常量在chatFragment里面 定义好之后,那么接下来我们需要到chatFragment里面去注册这个按钮 对,没错,就是这么简单,注册一个按钮,然后,我们需要到onExtendMenuItemClick这个方法中写名片按钮的点击事件 大家看到了是个startActivityForResult,看到这里,肯定接下来就是去到REQUEST_CODE_SELEST_MINGPIAN里面接收data REQUEST_CODE_SELEST_MINGPIAN是写在if(resultCode == Activity.RESULT_OK) {}里面的 接下来我们需要去CustomChatRowProvider这个内部类里面去设置发送接收,大家需要注意getCustomChatRowTypeCount(){}方法里面必须要加上2,这个2的意思就是说发送和接收名片 这里大家应该可以看到,我只写了发送名片,没有写接收名片,原因就是我不需要自己点自己发送出去的名片,所以没写,这个如果要的话,照葫芦画瓢,SoEasy 接下来这个非常重要,这个是名片消息的ChatRow,就是载体   对,就是new一个chatRow出来,这个chatRow在easeui里面是没有的,所以需要我们自己写 必须注意,一定要继承EaseChatRow,不然就调不出onInflatView,onFindViewById,onUpdateView,onSetUpView,onBubbleClick这几个方法 这个方法名已经很明显了onFindViewById,也就是说,在这里绑定布局里面的id,最重要的方法是onSetUpView 这里设置完了之后,基本上就好了,布局我没有放出来,等会看运行之后的效果 这几个方法的意思大家去看EaseUI里面的EaseChatRow 到最后,我们还需要一个步骤,就是去DemoHelper里面监听消息是不是名片扩展消息 是不是很好理解,这个完了之后,运行。。。。 完美!!! 如果大家还有什么问题,那么就加入环信IM互帮互助群 340452063认准杭州-android-中草,龙瞎头像,找我,帮你解答一切扩展消息问题

    转载请注明原文地址: https://ju.6miu.com/read-1310771.html
    最新回复(0)