
IM即时通讯
安全可靠、全球互通

实时音视频
流畅稳定、省钱省力
回答:
大致模版如下
import android.os.Parcel; import android.text.TextUtils; import java.util.ArrayList; import java.util.List; import io.rong.imlib.MessageTag; import io.rong.message.TextMessage; @MessageTag(value = "RC:TxtMsg", flag = MessageTag.ISCOUNTED) public class MockTextMessage extends TextMessage { protected MockTextMessage() { } public static TextMessage obtain(String text) { return new MockTextMessage(text); } public MockTextMessage(String content) { super(content); } public MockTextMessage(byte[] data) { super(data); } public MockTextMessage(Parcel in) { super(in); } public static final Creator<MockTextMessage> CREATOR = new Creator<MockTextMessage>() { @Override public MockTextMessage createFromParcel(Parcel source) { return new MockTextMessage(source); } @Override public MockTextMessage[] newArray(int size) { return new MockTextMessage[size]; } }; @Override public List<String> getSearchableWord() { List<String> words = new ArrayList<>(); String content = getContent(); // 假设使用processContent方法处理content String contentProcessed = processContent(content); words.add(contentProcessed); return words; } }
RongIMClient.registerMessageType(messageContentClassList);
源码方式依赖,在Kit源码中声明MockTextMessage,在RongExtensionViewModel#onSendClick()中,修改TextMessage为MockTextMessage
调用RongExtensionManager.getInstance().addExtensionEventWatcher全局设置接口,onSendToggleClick接口方法是点击前的回调,在这里替换TextMessage。