跳转至

消息

消息接收监听

建议在 Application 中调用。

回调方法说明:

参数 说明
onReceived 接收到消息

示例代码:


/**
 * 设置接收消息的监听器。
 * 
 * 所有接收到的消息、通知、状态都经由此处设置的监听器处理。包括私聊消息、群组消息、聊天室消息以及各种状态。
 */
 RongIM.getInstance().setOnReceiveMessageListener(new RongIMClient.OnReceiveMessageListener() {
            @Override
            public boolean onReceived(Message message, int left) {
                return false;
            }
        });

 

消息发送监听

回调方法说明:

参数 说明
onSend 消息发送前监听器处理接口
onSent 消息发送后回调接口。

示例代码:

  /**
 * 设置发送消息的监听。
 */
 RongIM.getInstance().setSendMessageListener(new RongIM.OnSendMessageListener() {
            @Override
            public Message onSend(Message message) {
                return null;
            }

            @Override
            public boolean onSent(Message message, RongIM.SentMessageErrorCode sentMessageErrorCode) {
                return false;
            }
        });
 

注意

如果在 Activity 里设置,需要在 Activity 销毁时,将监听设置为 null,防止内存泄露。

接收消息的拦截器监听

建议在 Application 设置。

回调方法说明:

参数 说明
intercept 收到消息处理的回调

示例代码:

/**
 * 设置未读消息数变化监听器。
 */
 RongIM.getInstance().setMessageInterceptor(new RongIM.MessageInterceptor() {
           @Override
           public boolean intercept(Message message) {
               return false;
           }
       });

未读消息数监听

在 Activity 中设置。

回调方法说明:

参数 说明
IUnReadMessageObserver 接收未读消息消息的监听器
ConversationType 接收未读消息的会话类型

示例代码:

/**
 * 设置未读消息数变化监听器。
 */
RongIM.getInstance().addUnReadMessageCountChangedObserver(final IUnReadMessageObserver observer, Conversation.ConversationType... conversationTypes)

如果在Activity中调用,需在Activity销毁时移除监听:

回调方法说明:

参数 说明
IUnReadMessageObserver 接收未读消息消息的监听器

示例代码:

/**
 * 注销已注册的未读消息数变化监听器。
 */
RongIM.getInstance().removeUnReadMessageCountChangedObserver(final IUnReadMessageObserver observer)