tencent cloud

文档反馈

Android & iOS & Mac

最后更新时间:2023-01-29 16:06:34

    功能描述

    发送方可以撤回一条已经发送成功的消息。

    默认情况下,发送者只能撤回 2 分钟以内的消息,您可以按需更改消息撤回时间限制,具体操作请参见 消息撤回设置

    消息的撤回同时需要接收方 UI 代码的配合:当发送方撤回一条消息后,接收方会收到消息撤回通知 onRecvMessageRevoked。通知中包含了撤回消息的 msgID,您可以根据这个 msgID 判断 UI 层是哪一条消息撤回了,然后把对应的消息气泡切换成 "消息已被撤回" 状态。

    发送方撤回消息

    发送方可调用 revokeMessage (Android / iOS & Mac / Windows) 撤回一条消息。

    示例代码如下:

    V2TIMManager.getMessageManager().revokeMessage(v2TIMMessage, new V2TIMCallback() {
    @Override
    public void onError(int code, String desc) {
        // 撤回消息失败
    }
    @Override
    public void onSuccess() {
        // 撤回消息成功
    }
    });
    

    接收方感知消息被撤回

    1. 接收方调用 addAdvancedMsgListener (Android / iOS & Mac / Windows) 设置高级消息监听。
    2. 接收方在 onRecvMessageRevoked (Android / iOS & Mac / Windows) 中接收消息撤回通知。

    示例代码如下:

    V2TIMManager.getMessageManager().addAdvancedMsgListener(new V2TIMAdvancedMsgListener() {
    @Override
    public void onRecvMessageRevoked(String msgID) {
        // msgList 为当前聊天界面的消息列表
        for (V2TIMMessage msg : msgList) {
            if (msg.getMsgID().equals(msgID)) {
                // msg 即为被撤回的消息,您需要修改 UI 上相应的消息气泡的状态
            }
        }
    }
    }
    

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持