我已经成功创建了一个计算价格的Android应用,然后能够以预先格式化的方式将数据传输到用户选择的电子邮件程序。根据用户在应用程序中创建的数据,包含HTML的字符串将被读入intent。我的代码是:
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);
这一切都很好,当我选择Gmail应用时,电子邮件 主要 格式正确,并且通常会发送 < / strong>正确。我遇到的问题是我必须从非gmail帐户发送它用于商业目的。当我在手机上选择通用电子邮件应用程序时,它不会正确处理HTML,当我发送电子邮件时,它会以纯文本格式化。
我读过无数文章和论坛帖子,但无济于事。如何处理包含HTML的字符串,以便电子邮件 - 在与内置电子邮件应用程序一起发送之后 - 被接收者正确地查看?
答案 0 :(得分:1)
单个邮件应用程序可以正确处理它作为EXTRA_TEXT接收的字符串。一个表现良好的邮件应用程序将看到mimetype并正确处理EXTRA_TEXT,但并非所有邮件应用程序都这样做。
答案 1 :(得分: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:"));