Mostrar icono de emoji / emoción en Android TextView

Tengo un problema con la visualización de iconos emoji en Android TextView

En primer lugar, encontré una lista de icono de emoji en unicode aquí: http://www.easyapns.com/category/just-for-fun

En segundo lugar, encontré cómo mostrar el icono emoji aquí: https://github.com/sharakova/EmojiTextView/blob/master/src/jp/sharakova/android/emoji/EmojiTextView.java

El EmojiTextView.java puede convertir el carácter predefinido en icono emoji automáticamente. Por lo tanto, quiero reemplazar todas las ocurrencias del icono emoji en una cadena a algún carácter predefinido, y poner el resultado a EmojiTextView.java El problema es mi código no puede reconocer emoji icono en la cadena que contiene icono emoji.

Aquí está mi fragmento de código – Estoy tratando de encontrar si la entrada coincide con cualquier unicode de emoji icono:

// Array list of all emoji icon private static final String[] ArrayEUnicodeString ={ "\uE415", "\uE056", "\uE057", ... } // Nothing matched when it receive emoji icon with unicode "\uE415" from iphone. 'input' is message received from XMPP server for (int i=0; i < emojiLength; i++) { if (input.getBytes() == ArrayEUnicodeString[i].getBytes()) Log.e("test", "ArrayEUnicodeString found"); } // Note: iphone can display the emoji icon if I send "\uE415" 

No soy bueno en unicode comparación / convención. ¿Puede alguien ayudarme por favor, gracias!

También puede intentar encontrar el emoji usando una expresión regular: "[\ ue415 \ ue056 \ ue057]", en lugar de comparar los bytes. 😺

¿Por qué desea incrustar las imágenes protegidas Apple emoji en su aplicación en absoluto?

El estándar Unicode incluye emoji de 722 que puede ser visualizado por la fuente predeterminada de Android simplemente introduciendo los caracteres Unicode en un campo TextView o TextView .

Además, puede utilizar la siguiente biblioteca (en la carpeta "Java") para convertir automáticamente emoticones populares como :-) al emoji correspondiente de Unicode:

https://github.com/delight-im/Emoji

Funciona bien si convierte la cadena en una matriz de caracteres y comprueba cada carácter, por ejemplo:

 StringBuilder sb = new StringBuilder(); for (char curr : str.toCharArray()) { sb.append((SUPPORTED_EMOJI_SET.contains(curr)) ? convertCharToImgTag(curr) : curr); } 

Donde SUPPORTED_EMOJI_SET es sólo un conjunto de caracteres, por ejemplo:

 new HashSet<Character>() {{ add('\ue415'); add('\ue056'); ... }} 

También podría hacer esto con un regex, pero creo que lo anterior sería más rápido.

  • ¿Hay algún carácter unicode que tiene el glifo que falta en todas las fuentes?
  • ¿Cómo usar unicode en los recursos de Android?
  • Utilizar caracteres Unicode en strings.xml
  • Android: ¿Cómo usar los glifos japoneses de Unihan?
  • Recibe todos los caracteres unicode de SoftInput cuando usa android NativeActivity
  • SMS en hebreo en Android
  • Recibe la entrada completa de unicode android en C / C ++
  • No se pudo encontrar la clase 'android.graphics.drawable.RippleDrawable' Unicode issue?
  • Cómo procesar unicode de Tamil en Android
  • ¿Cómo evita que Chrome (o los navegadores de Internet de teléfono en general) en un dispositivo Android sustituyan símbolos de Unicode no estándar por Emojis?
  • Soporte Unicode para Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.