删除消息分为两种:删除本地消息和删除云端消息。
删除云端消息会在删除本地消息的基础上,同步删除云端存储的消息,且无法恢复。
如果删除的是最后一条消息,会话的 lastMessage
会变为前一条消息。
lastMesasge
进行排序,此时会影响您的会话列表顺序。orderKey
进行排序,此时不影响您的会话列表顺序。您可以调用 deleteMessageFromLocalStorage
(Android / iOS & Mac) 删除本地消息。
说明:
- 该接口只能删除本地历史。消息删除后,SDK 会在本地把这条消息标记为已删除状态,调用
getHistoryMessage
不能拉取到。- 如果程序卸载重装,本地会失去对这条消息的删除标记,调用
getHistoryMessage
能拉取到该条消息。
示例代码如下:
// selectedMsg 为用户选中待删除的消息
V2TIMManager.getMessageManager().deleteMessageFromLocalStorage(selectedMsg, new V2TIMCallback() {
@Override
public void onSuccess() {
// 删除本地消息成功
}
@Override
public void onError(int code, String desc) {
// 删除本地消息失败
}
});
您可以调用 deleteMessages
(Android / iOS & Mac) 删除云端存储的消息。
该接口会在删除本地消息的基础上,同步删除云端存储的消息,且无法恢复。
说明:
- 每次调用,最多只能删除 30 条消息。
- 每次调用,待删除的消息必须属于同一会话。
- 接口限频:1 秒钟最多只能调用 1 次该接口。
- 如果一个账号在某设备上拉取过这些消息,那么调用该接口删除云端消息后,这些消息仍然会保存在该设备上,即删除消息不支持多端同步。
示例代码如下:
本页内容是否解决了您的问题?