融云 IMkit 拦截或监听所有发送消息

融云 IMkit 拦截或监听所有发送消息

最近集成融云 IMkit 的 SDK, 有一个需求是要监听所有发出去的消息, 根据消息类型拦截或者进行修改.

在官方文档上着了一遍, 都没有找到, 偶然在看 API 文档的时候看见了一个监听然后做了尝试, 是可以满足需求的, 所以再次记录一下.

具体的方法是 RongIM 类下的 setSendMessageListener 方法.

代码如下.

    /**
     * 设置发送消息的监听。
     *
     * @param listener 发送消息的监听。
     */
    RongIM.setSendMessageListener(new OnSendMessageListener() {
    
          @Override
         public Message onSend(Message message) {
         
                // 发送消息之前会走此方法. message 为要发送的消息,
                // 如果返回 null 的话, 就不会发送此消息了.
                return message;
         }

         @Override
        public boolean onSent(Message message, SentMessageErrorCode sentMessageErrorCode) {
                发送成功之后会走方法. 返回 true , 就会走 SDK 的后续逻辑. 返回 false 就拦截了.         return true;
            }
    
    }).


你可能感兴趣的:(融云 IMkit 拦截或监听所有发送消息)