Я не могу использовать Character.UnicodeBlock.of(char) == Character.UnicodeBlock.EMOTICONS< /code>, поскольку для этого требуется уровень API 19.
Я нашел этот код для iOS, но он неприменим, поскольку выглядит так, будто Java и Objective-C обрабатывают суррогатные пары. по-разному.
Документация, которую я просмотрел, говорит мне следующее:
Код: Выделить всё
A char value, therefore, represents Basic Multilingual Plane (BMP) code points, including the surrogate code points, or code units of the UTF-16 encoding
Согласно Википедии, набор смайлов находится между 0x1f600 и 0x1f64f, но я не знаю, как это сделать. проверьте, находится ли символ в этом диапазоне.
Я надеялся, что что-то подобное сработает, но не сработало
Код: Выделить всё
if (0x1f600
Подробнее здесь: [url]https://stackoverflow.com/questions/21392969/detecting-if-a-character-in-a-string-is-an-emoticon-using-android[/url]
Мобильная версия