使用融云SDK遇到的一些问题

Posted All For Revenge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用融云SDK遇到的一些问题相关的知识,希望对你有一定的参考价值。

 

官方文档 

 

如果使用IMKit,对话布局可以不用自己做

先导入IMKit  module,配置好之后,在module的清单文件中,搜索host,我找到2个,把*替换成 自己项目的包名,另外搜索 RONG_CLOUD_APP_KEY,把值换成控制台的给的key

 

在会话界面 要创建一个ConversationActivity  它的布局conversation里面的fragment 是固定的 直接复制可以,可以自己弄个actionbar或者toolbar 显示标题

然后在清单文件中  配置ConversationActivity  以下是官方文档代码

第13行 host 必须改成 自己的包名

 1 <!--会话界面-->
 2  <activity
 3      android:name="io.rong.fast.activity.ConversationActivity"
 4      android:screenOrientation="portrait"
 5      android:windowSoftInputMode="stateHidden|adjustResize">
 6 
 7      <intent-filter>
 8          <action android:name="android.intent.action.VIEW" />
 9 
10          <category android:name="android.intent.category.DEFAULT" />
11 
12          <data
13              android:host="io.rong.fast"
14              android:pathPrefix="/conversation/"
15              android:scheme="rong" />
16      </intent-filter>
17  </activity>

 

显示头像和名字

http://www.cnblogs.com/demon9/p/5852902.html

 

监听消息接收    在调用 connect 方法前进行设置

实现 RongIMClient.OnReceiveMessageListener

public class ReceiveMessageListener implements RongIMClient.OnReceiveMessageListener  {
    @Override
    public boolean onReceived(Message message, int i) {
        Logger.e(i+" onReceived "+message.getTargetId()+"  "+message.getSenderUserId());
        return false;
    }
}

在Application 中设置  

RongIM.init(this);
RongIM.setOnReceiveMessageListener(new ReceiveMessageListener());

 

监听消息发出   必须在 connect 连接成功以后调用 

实现RongIM.OnSendMessageListener

public class SendMessageListener implements RongIM.OnSendMessageListener {
    @Override
    public Message onSend(Message message) {
        Logger.e(" onSend "+message.getContent()+" id "+message.getSenderUserId()+"  "+message.getTargetId());
        return message;
    }

    @Override
    public boolean onSent(Message message, RongIM.SentMessageErrorCode sentMessageErrorCode) {
        return false;
    }
}

在开启会话的时候设置

if (RongIM.getInstance() != null)
            RongIM.getInstance().setSendMessageListener(new SendMessageListener());
            RongIM.getInstance().startPrivateChat(mContext, objectId, ""+username+"聊天");
            finish();

 

以上是关于使用融云SDK遇到的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

融云 IM SDK 发送语音消息

IOS集成融云SDK即时通讯

融云 RTC SDK 集成实现直播,趟坑之旅~~~

iOS - 语音云通讯

升级融云 4.0 及以上版本的兼容方案

使用融云 Web SDK 撤回消息