删除消息后,卸载重装应用,删除的消息又出现了

例如退出群组逻辑,需要清除历史消息和删除会话,当执行上述操作后,卸载重装,删除的会话又恢复了。
发布时间: 2022-02-22 16:07

回答:

问题原因:

    如果开启了“多设备消息同步”服务,卸载重装应用,会触发“消息补偿”机制,默认会拉取到补偿时间内收发过的消息,如果删除的消息是在补偿时间内收发的,也会被拉取回来。


解决思路:

    1. 在删除消息后,向会话发一条自定义消息,作为清除消息的标识。

    2. 当卸载重装后,如果在消息监听中监听到第 1 步中的自定义消息,再删除一次消息,如需删除会话,也要再执行一次。


具体实现:

    参考附件中的代码实现。

    清除历史消息逻辑.docx