最近集成融云 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;
}

}).


融云RongCloud
82 声望1.2k 粉丝

因为专注,所以专业