1.前言
现在APP功能越来越多,聊天成为很重要的一个功能,现在市面上流行的即时通讯SDK基本上只有融云和环信,而近年来融云在各个方面都有超过环信的趋势,所以在项目中用到融云的地方越来越多.那我们是不是也要介绍一下融云的实现了呢.
RongIM即时通讯分为两个部分.. 一个是KIT一个是LIB .. Kit属于封装程度更高的SDK.. 会话界面列表已经全部实现.. 调用方便但是定制性低… 适合初中级程序员(比如我)以及中小型公司高效快速的开发.. 而Lib属于封装程度很低的SDK.. 列表界面等都需要自己去再实现.. 适合中高级程序员(我的爸爸们)以及中大型公司去精雕细琢.. 本文主要针对安卓RongIMKit的实现作介绍… 如果爸爸们想了解Lib的实现那我只能说…
(噗通) 儿子给您跪下了… 您还收儿子么…
2.基本实现
前面纯属瞎杰宝扯淡… 下面进入正题..
RongIMKit实现其实很简单 , Kit主要分为三个模块, 分别是会话列表(io.rong.imkit.fragment.ConversationListFragment)、聚合会话列表(io.rong.imkit.fragment.SubConversationListFragment)和会话界面(io.rong.fast.activity.ConversationActivity) .. 会话列表就是消息界面.. 融云的特点就是只维护聊天列表.. 但他不管好友关系… 这就很尴尬了..(怎么处理后文会详述) 所以好友列表融云爸爸是不管的.. 我们只需要将这三个界面集成然后用融云开启界面的代码
//启动会话界面
if (RongIM.getInstance() != null)
RongIM.getInstance().startPrivateChat(this, "26594", "title");
//启动会话列表界面
if (RongIM.getInstance() != null)
RongIM.getInstance().startConversationList(this);
//启动聚合会话列表界面
if (RongIM.getInstance() != null)
RongIM.getInstance().startSubConversationList(this, Conversation.ConversationType.GROUP);
去进入界面即可.. 快速集成的流程见
好了本文到此结束了… 你们去看文档吧╮(╯▽╰)╭ … 感谢融云官方文档… 再见… 哎哎哎你们别打疼疼疼疼疼…
我其实想说的是… 需要注意的是..
2.1.意图选择器
官方让我们在manifest里配置如
<activity
android:name="io.rong.fast.activity.ConversationListActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="io.rong.fast"
android:pathPrefix="/conversationlist"
android:scheme="rong" />
</intent-filter>
</activity>
的意图选择器.. 实际上有两个作用… 一是在收到推送时.. 点击通知栏可以进入到配置意图选择器的界面..(比如收到一个人消息.. 点击通知栏便可进入到单聊界面.. 接受到多个人的多条消息的话.. 点击就可以进入会话列表界面了) 而且这个界面中可能不仅有融云的fragment ,如本人APP的界面
那么在进入这个界面的时候一定要在这个界面manifast中配置完意图选择器后调用
RongIM.getInstance().startConversationList(this);
来进入界面.. 不然界面的初始化会不成功…
而列表本身其实只是个fragment.. 只要按
<fragment
android:id="@+id/conversationlist