Я новичок в сообществе.В своей пользовательской клавиатуре я использую метод ниже, чтобы показать список смайликов.
String[] codePoints = {
"U+1F600","U+1F603","U+1F604","U+1F601","U+1F606","U+1F605","U+1F923"
,"U+1F602","U+1F642","U+1F643","U+1F609","U+1F60A","U+1F607",...};
вот мой метод:
private void addEmojiShape(String emojiCodepoint){
int codepoint=Integer.parseInt(emojiCodepoint.substring(2),16);
final char[] ch=Character.toChars(codepoint);
emojiTextView.setText(String.valueOf(ch));
}
Проблема в том, что некоторые смайлики не отображаются на устройствах с более низкой версией Android, как на картинке ниже:
Некоторые смайлики не поддерживаются
Я знаю, что в API 23 Paint.hasGlyph(codePoint)
добавлен метод, который запускает boolean
, который сообщает, поддерживается ли смайлик, связанный с этой кодовой точкой.Но мне нужно найти способ получить поддерживаемые смайлики в API <23, чтобы не показывать неподдерживаемые смайлики, что приводит к проблеме, которая видна на картинке. </p>