撤回消息
IMKit SDK 默认已经实现了一套消息撤回和展示逻辑,不需要额外调用会话相关 API。如果已有实现无法满足您的需求,可以使用 IMCenter 中相关 API。
撤回消息
您可以在自定义页面调用以下方法撤回消息,该方法会同时触发会话列表和会话页面的刷新。
IMCenter.getInstance().recallMessage(message, pushContent, callback)
参数 | 类型 | 说明 |
---|---|---|
message | Message | 要撤回的消息。 |
pushContent | String | 消息被撤回时,通知栏显示的内容。 |
callback | ResultCallback | 撤回消息的结果回调。onSuccess 中会返回替换后撤回提示小灰条消息(RecallNotificationMessage),您可以根据需要在界面展示。 |
监听他人撤回消息事件
您可以添加监听器,监听已接收的消息被撤回的事件。
private RongIMClient.OnRecallMessageListener mRecallMessageListener =
new RongIMClient.OnRecallMessageListener() {
@Override
public boolean onMessageRecalled(
Message message, RecallNotificationMessage recallNotificationMessage) { }
};
IMCenter.getInstance().addOnRecallMessageListener(mRecallMessageListener);
// 不需要时可移除
IMCenter.getInstance().removeOnRecallMessageListener(mRecallMessageListener);