官方文档
如果使用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();
转载于:https://www.cnblogs.com/demon9/p/5844783.html