Los vínculos HTML desaparecen del correo electrónico generado por Intent (Android 4.1 o posterior)

Estoy enfrentando un problema que ocurre en dispositivos con Android 4.1 o superior. Quiero enviar un correo electrónico (vía Intent ) que contiene enlaces html. Sé que esto funciona en dispositivos android 2.x porque hice esto durante meses.

Aquí está el código java:

 startActivity(Intent.createChooser( new Intent(Intent.ACTION_SEND) .putExtra(Intent.EXTRA_SUBJECT, "A subject") .setType("text/html") .putExtra(Intent.EXTRA_TEXT, Html.fromHtml("Some text ... <a href="http://www.weburl.com">Some text</a>)), "Email")); 

En Android 4.1: Cuando uso este código, Gmail muestra el texto como se esperaba y veo los enlaces en azul y subrayado. Pero recibo este mensaje sin los enlaces.

En Android 2.x: Todo es perfecto. Recibo el correo electrónico con los enlaces

¿Puede alguien ayudarme a resolver este problema?

Creo que las aplicaciones de correo electrónico no tienen soporte html completo. Tengo el siguiente código:

 Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto","", null)) .putExtra(Intent.EXTRA_SUBJECT, "LIJSTJE fb") .putExtra(Intent.EXTRA_TEXT, Html.fromHtml(new StringBuilder() .append("<p style='font-weight:bold;'>Some Content</p>") .append("<a>http://www.google.com</a><br/>") .append("<a href='http://www.facebook.com'>facebook</a>") .append("<small><p>More content</p></small>") .toString())); startActivity(Intent.createChooser(emailIntent, "Send email...")); 

Los párrafos y las nuevas líneas se agregan como se esperaba. El estilo sin embargo no lo es. También cuando usted imprime la URL completa usted consigue un acoplamiento, pero cuando usted lo hace como el acoplamiento del facebook, usted no hace.

Sospecho que el cliente de correo electrónico en el teléfono elimina el estilo y se asegura de que los enlaces enlazan al texto visible. Así que el usuario sabe a dónde va el enlace. Además, si piensas en ello, la aplicación nativa de Gmail no tiene opciones de estilo. Esto puede provocar que el comportamiento de eliminación de estilo.

Al menos esa es mi teoría. 🙂

(NOTA: Solo probé en la aplicación nativa de Gmail!)

También cambié el tipo de Intent de SEND a SENDTO de esta manera sólo usa clientes de correo electrónico y no otras aplicaciones. Y quité el método de setType (), porque cuando usted lo utiliza, usted consigue una "aplicación no encontrada" error.

  • ADB shell: ¿Cómo obtengo una lista de BroadcastReceivers que recibirán BOOT_COMPLETED Intent?
  • Cómo iniciar la actividad Administrar cuentas / Configuración de sincronización en Android?
  • Agregar diálogo de progreso a la barra de acción sherlock from sherlock fragment
  • Cómo activar una intención de WhatsApp haciendo clic en un vínculo del navegador
  • Compartir archivo de imagen desde el directorio de caché Via Intent ~ android
  • Cómo iniciar el "establecer como" intención (papel tapiz, foto de contacto, etc)
  • Establecer extras para BroadcastReceiver de DownloadManager
  • El dispositivo no recibe mensaje de NUEVO mensaje de nube de Google (NUEVO GCM)
  • Iniciar una nueva actividad sin animación de transición en android 1.6
  • ¿Cómo cambiar el icono de la aplicación Android creada en Google App Inventor?
  • Imágenes en línea de Android en el correo electrónico
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.