【融云常见问题】融云SDK各种事件监听

转载自: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。

把这个类可以直接复制到自己的项目中去

https://github.com/rongcloud/demo-app-android/blob/master/app/src/main/java/io/rong/imkit/demo/RongCloudEvent.java

在application中init下就行了,如下:

https://github.com/rongcloud/demo-app-android/blob/master/app/src/main/java/io/rong/imkit/demo/DemoApplication.java

在你的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);

  

posted @ 2020-12-31 14:48  编程侠Java  阅读(498)  评论(0编辑  收藏  举报