1、点击输入框,再点击打开系统键盘,输入一个Emoji表情后关闭系统键盘
2、点击输入框,唤起自定义键盘,点击 x 删除按钮,将Emoji表情删除(表面上删除,实际上会留一个特殊字符),然后点击任意数字,均无法输入。
问题:
上述场景,在自定义键盘如何真正彻底删除Emoji表情?实际上Emoji表情占两个字符长度,自定义键盘实际只删了一个字符,HarmonyOS上开发者如何知道即将删除的是个Emoji表情?
同样的场景在其他系统上,输完Emoji表情,在自定义键盘点击 x 删除按钮,删除一个字符,输入框会展示一个特殊字符,再次点击 x 删除按钮,即可将此特殊字符删除,从而删除这个Emoji表情,自定义键盘也能再次正常输入。而在HarmonyOS上则不然。
需要做一下判断,判断删除的是否为表情包,代码如下:
Emoji表情的编码范围是固定,测试了[’\uD800’,’\uDBFF’]包含了系统键盘中所有的emoji