如果使用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();
时间: 2024-10-12 13:54:32