Android 端客服后台发送表情显示有误的处理方法

客服后台发送的表情,Android 端无法识别,导致显示有误
已邀请:

实现思路 

自定义文本消息 TextMessagesaItemProvider,判断消息内容,转成可以识别的表情。

下面实现仅以一个表情为例,可以根据自己的需要,参考下面实现方法,对客服后台其他表情进行同样处理。

实现步骤 

1.新建 TextMessagesaItemProvider 类

@ProviderTag(
        messageContent = TextMessage.class,
        showReadState = true
)
public class TextMessagesaItemProvider extends TextMessageItemProvider {
        @Override
        public void bindView(final View v, int position, TextMessage content, final UIMessage data) {
                    if (content.getContent() != null) {
                        if(content.getContent().equals("[(D)]")) {
                            int code = AndroidEmoji.getEmojiCode(0);
                            char[] chars = Character.toChars(code);
                            String key = Character.toString(chars[0]);
                            for (int i = 1; i < chars.length; ++i) {
                                key = key + Character.toString(chars[i]);
                            }
                            data.setTextMessageContent(new SpannableStringBuilder(AndroidEmoji.ensure(key)));
                        }
                    }
        }

    }

2.在 application 中添加

RongIM.registerMessageTemplate(new TextMessagesaItemProvider());

要回复问题请先登录注册