2017-06-15 111 views
-1

我使用Html.fromHtml呈现HTML并将其传递给emailIntent。Html无法在电子邮件客户端中呈现,如Gmail

     Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
           "mailto","", null)); 

         ///emailIntent.setType("text/html"); 
         emailTemplate = emailTemplate.replaceAll("(\r\n|\n)", "<br />").trim(); 

         emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 

         emailIntent.putExtra(Intent.EXTRA_SUBJECT, ""); 

         Spanned shareBody = null;//remove it's instance... 

         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { 
          Spanned spanned = Html.fromHtml(emailTemplate ,Html.FROM_HTML_MODE_LEGACY); 
          shareBody = spanned; 
          ///emailTemplate = spanned.toString(); 
         } 
         else 
         { 
          Spanned spanned = Html.fromHtml(emailTemplate); 
          shareBody = spanned; 
          ///emailTemplate = spanned.toString(); 
         } 

         emailIntent.putExtra(Intent.EXTRA_TEXT, shareBody);//emailTemplate); 
         mContext.startActivity(Intent.createChooser(emailIntent, "Send email...")); 

其中的emailTemplate是

"\u003ctable id=\"pltrlText\" style=\"width:100%; display:block; margin:0px; padding:0px;\"\u003e \u003ctbody style=\"display: block;\"\u003e \u003ctr style=\"display: block; margin: 0px 5px 30px 5px; \"\u003e \u003ctd style=\"font-family: \u0027OpenSansRegular\u0027, Arial; color: #444444; font-size: 14px; \"\u003e HI[Razi] \u003c/td\u003e \u003c/tr\u003e \u003ctr style=\"display: block; margin: 0px 5px 30px 5px; \"\u003e \u003ctd style=\"font-family: \u0027OpenSansRegular\u0027, Arial; color: #444444; font-size: 14px; \"\u003e We are happy to offer you solutions, that make a positive impact on your business. We are happy to offer you solutions, that make a positive impact on your business. We are happy to offer you solutions, that make a positive impact on your business. We are happy to offer you solutions, that make a positive impact on your business.We are happy to offer you solutions, that make a positive impact on your business. We are happy to offer you solutions, that make a positive impact on your business. \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/table\u003e" 

没有下一行显示和无应用的样式。我究竟做错了什么。还用String和Spanned尝试过。

而没有风格正在喜欢的颜色和背景

但同样正在为iOS应用Gmail客户端和其他人了。

+0

'我在做什么错了.. 。'你正在将标记字符('<' and '>')转换为它们的Unicode代码。 –

回答

0

我在做什么错。

你假设你可以使用任意的HTML。在任何平台上(包括Web邮件),很少有电子邮件客户端在他们的电子邮件作曲者中支持任意的HTML。

在Android的情况下,一般来说,预计仅限于支持Html.fromHtml()Html.toHtml()的标签。值得注意的是,鉴于你很奇怪的模板:

  • <table>不支持(连同<tr><td>
  • 你的大部分style位,不支持
+0

但同样适用于IOS应用程序Gmail客户端和其他人。 – Nepster

+1

@Nepster:iOS不是Android。 – CommonsWare

相关问题