转载自:https://blog.csdn.net/zhjchen6/article/details/43951119
【融云常见问题】融云SDK各种事件监听
包含的监听事件有: |
|
|
* 1、消息接收器:OnReceiveMessageListener。 |
|
* 2、发出消息接收器:OnSendMessageListener。 |
|
* 3、用户信息提供者:GetUserInfoProvider。 |
|
* 4、好友信息提供者:GetFriendsProvider。 |
|
* 5、群组信息提供者:GetGroupInfoProvider。 |
|
* 6、会话界面操作的监听器:ConversationBehaviorListener。 |
|
* 7、连接状态监听器,以获取连接相关状态:ConnectionStatusListener。 |
|
* 8、地理位置提供者:LocationProvider。 |
把这个类可以直接复制到自己的项目中去
在application中init下就行了,如下:
在你的connect 的onSuccess()方法中执行下面代码:
RongCloudEvent.getInstance().setOtherListener();
android开发:融云怎么监听未读消息
场景:比如A和B是好友,A给B发送消息,APP桌面图标右上角会有未读消息数量显示,超过99就显示99+
代码实现:
RongIM.getInstance().addUnReadMessageCountChangedObserver(observer, Conversation.ConversationType.PRIVATE);
/** * 未读消息监听回调 * @param i */ private IUnReadMessageObserver observer = new IUnReadMessageObserver() { @Override public void onCountChanged(int i) { LogUtil.e("数量变化s:" + i); //给首页发送未读消息事件,更新未读消息图标 LeaveMessageBean leaveMessageBean = new LeaveMessageBean(i); EventBusUtils.post(leaveMessageBean); } };
当有未读消息的时候就会执行observer 对象的onCountChanged方法,我们在里面处理我们的业务就可以了。
注意:执行完监听后记得注销监听,不然会发生内存泄漏
RongIM.getInstance().addUnReadMessageCountChangedObserver(observer, Conversation.ConversationType.PRIVATE); //移除监听,防止内存泄漏 RongIM.getInstance().removeUnReadMessageCountChangedObserver(observer);