首页 > 技术文章 > 使用融云SDK遇到的一些问题

demon9 2016-09-14 00:09 原文

 

官方文档 

 

如果使用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();

 

推荐阅读