修改消息
用户在成功发送超级群消息后,可以主动修改已发送消息的消息内容。
修改本端用户已发消息的内容
本端用户发送消息成功后,服务端会返回消息的 UID。如果需要修改消息内容,可以使用 modifyUltraGroupMessage
,传入待修改消息的 Message UID 和新的消息内容进行修改。消息被修改后,Message#isHasChanged()
会返回 true
。注意:消息类型无法修改。如果改前为文本消息,则传入的新消息内容必须为 TextMessage
类型。无法修改他人发送的消息。
TextMessage newContent = TextMessage.obtain("修改后的文本消息内容");
ChannelClient.getInstance().modifyUltraGroupMessage(msgUid, newContent,
new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() { }
@Override
public void onError(IRongCoreEnum.CoreErrorCode ErrorCode) { }
});
监听远端用户的消息变更
使用 setUltraGroupMessageChangeListener
设置 UltraGroupMessageChangeListener
监听器。远端用户修改消息时,应用程序可以通过 onUltraGroupMessageModified
方法收到通知。消息被修改后,Message#isHasChanged()
返回 true
。
//超级群消息变化通知
interface UltraGroupMessageChangeListener {
//消息扩展更新,删除
void onUltraGroupMessageExpansionUpdated(List<Message> messages);
//消息内容发生变更
void onUltraGroupMessageModified(List<Message> messages);
//消息撤回
void onUltraGroupMessageRecalled(List<Message> messages);
}
//设置超级群消息变化监听
public void setUltraGroupMessageChangeListener(IRongCoreListener.UltraGroupMessageChangeListener listener)