2010-12-30 16 views
5

He creado con éxito una aplicación de Android que calcula los precios y luego puede transferir esos datos en forma preformateada a un programa de correo electrónico de la elección del usuario. Dependiendo de los datos que el usuario crea en la aplicación, se lee una cadena que contiene el HTML en un intento. El código que tengo para esto es:Enviando correo electrónico con formato HTML en Android

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 

emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(emailText)); 
QuoteDroid.this.startActivity(emailIntent); 

Esto es todo muy bien y el correo electrónico es mayoría con formato correcto cuando elijo la aplicación de Gmail, y por lo general envía mayoría correcta. El problema que tengo con esto es que debo enviarlo desde una cuenta que no es de Gmail para fines comerciales. Cuando elijo la aplicación de correo electrónico genérica en el teléfono, no procesa el HTML correctamente y cuando envío el correo electrónico, se formatea en texto plano.

He leído innumerables artículos y publicaciones en el foro, pero fue en vano. ¿Cómo se procesa la cadena, que contiene el HTML, de tal manera que el correo electrónico -después de ser enviado con la aplicación de correo electrónico integrada- se vea correctamente formateado por el receptor?

+0

No encontraste ninguna forma de evitarlo, ¿o sí? – skorulis

+0

Lamentablemente, la única forma de evitarlo es codificar la capacidad de enviar correos electrónicos desde la aplicación o crear una aplicación de correo electrónico completamente nueva para este uso. Puede haber una aplicación en Marketplace que envíe HTML. –

Respuesta

1

Depende de cada aplicación de correo manejar adecuadamente la cadena que recibe como EXTRA_TEXT. Una aplicación de correo de buen comportamiento verá el tipo mimet y manejará el EXTRA_TEXT de manera apropiada, pero no todas las aplicaciones de correo.

+0

Correcto, ¿alguna recomendación sobre cómo debo proceder? –

+0

Desarrolla la capacidad de enviar el correo electrónico directamente desde la aplicación: http://www.jondev.net/articles/Sending_Emails_without_User_Intervention_(no_Intents)_in_Android –

0
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body)); 
startActivity(Intent.createChooser(emailIntent, "Email:")); 
Cuestiones relacionadas