SDKsAndroid
撤回消息
撤回已发送消息,并处理其他客户端收到的撤回通知。
在可撤回时效内撤回自己已成功发送的消息。调用成功后,当前会话中的该条消息会被标记为已撤回状态,群聊或单聊对端会收到撤回事件并将消息内容替换为撤回提示。
String conversationID = "si_user_a_user_b";
String clientMsgID = "msg_001";
OpenIMClient.getInstance().messageManager.revokeMessageV2(
new OnBase<String>() {
@Override
public void onSuccess(String data) {
// 撤回请求已成功提交
}
@Override
public void onError(int code, String error) {
// 处理撤回失败(如超过允许撤回的时限)
}
},
conversationID,
clientMsgID
);参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
base | OnBase<String> | 是 | 异步请求回调。 |
conversationID | String | 是 | 待撤回消息所属的目标会话 ID。 |
clientMsgID | String | 是 | 待撤回目标消息的客户端消息 ID。 |
返回结果
成功回调中的 data 返回确认信息。
监听消息撤回事件
会话中各端通过 OnAdvanceMsgListener.onRecvMessageRevokedV2 接收消息被撤回的通知:
@Override
public void onRecvMessageRevokedV2(RevokedInfo info) {
// 根据 info.getClientMsgID() 找到原消息
// 将其状态更新为已撤回,并展示撤回人(info.getRevokerNickname())提示
}客户端在收到撤回事件后,应以 clientMsgID 为标识更新原消息的显示样式为撤回占位符,而不是直接从列表中删除该行。高级消息监听器的完整注册见接收消息。
这个页面有帮助吗?