2013-10-18 127 views
1

我已经做了一些搜索结果中删除HTML格式的,我不认为这有什么,回答我的Gmail版本问题4.6Android的电子邮件和Gmail应用程序从电子邮件

我的问题是,我无法呈现HTML格式在我创建的Android应用程序发送的电子邮件内。我使用定义的text/html类型的意图。我相信这个问题是由GMail应用程序引起的,因为它在发送之前从我的电子邮件中剥离了HTML。

我添加了可能导致问题的代码,除非它是GMail。

String body = 
     "<table border='1'>" + 
       "<tr>" + 
        "<td>Paint Cost(Exc VAT)</td>" + 
        "<td>£" + String.format("%.2f", (subtotal - ((subtotal * 20)/100))) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Paint Cost(Inc VAT)</td>" + 
        "<td>£" + String.format("%.2f", subtotal) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Undercoat Cost(Exc VAT)</td>" + 
        "<td>£" + String.format("%.2f", (undercoat - ((undercoat * 20)/100))) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Undercoat Cost(Inc VAT)</td>" + 
        "<td>£" + String.format("%.2f", undercoat) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Total Cost(Exc VAT)</td>" + 
        "<td>£" + String.format("%.2f", (total - ((total * 20)/100))) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Total Cost(Inc VAT)</td>" + 
        "<td>£" + String.format("%.2f", total) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Total VAT</td>" + 
        "<td>£" + String.format("%.2f", ((total *20)/100)) + "</td>" + 
       "</tr>" + 
     "</table>"; 

emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{email}); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Paint Cost"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body) 
); 

startActivity(Intent.createChooser(emailIntent, "Send mail...")); 

在此先感谢。

编辑1

String body = 
     "<table border='1'>" + 
       "<tr>" + 
        "<td>Paint Cost(Exc VAT)</td>" + 
        "<td>£" + String.format("%.2f", (subtotal - ((subtotal * 20)/100))) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Paint Cost(Inc VAT)</td>" + 
        "<td>£" + String.format("%.2f", subtotal) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Undercoat Cost(Exc VAT)</td>" + 
        "<td>£" + String.format("%.2f", (undercoat - ((undercoat * 20)/100))) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Undercoat Cost(Inc VAT)</td>" + 
        "<td>£" + String.format("%.2f", undercoat) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Total Cost(Exc VAT)</td>" + 
        "<td>£" + String.format("%.2f", (total - ((total * 20)/100))) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Total Cost(Inc VAT)</td>" + 
        "<td>£" + String.format("%.2f", total) + "</td>" + 
       "</tr>" + 
       "<tr>" + 
        "<td>Total VAT</td>" + 
        "<td>£" + String.format("%.2f", ((total *20)/100)) + "</td>" + 
       "</tr>" + 
     "</table>"; 

emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{email}); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Paint Cost"); 
emailIntent.putExtra(android.content.Intent.EXTRA_STREAM, Html.fromHtml(body) 
); 

startActivity(Intent.createChooser(emailIntent, "Send mail...")); 

然而,这似乎崩溃的Gmail应用程序来代替。

+0

难道你不应该使用'Intent.EXTRA_STREAM'而不是'Intent.EXTRA_TEXT' – ediblecode

+0

@jumpingcode这似乎是想要崩溃的Gmail应用程序,它不需要常规邮件应用程序的字符串。 – Georgewb13

+0

http://stackoverflow.com/questions/4566641/sending-html-formated-email-in-android?rq=1 – ediblecode

回答

0

当通过ACTION_SEND调用时,邮件客户端允许用户编辑邮件,并非所有的邮件客户端都提供所有可能的HTML标签的编辑。特别是那些使用EditText作为其编辑基础的人不太可能支持HTML平板电脑。

+0

这很有道理。我只是不明白为什么它不会支持它,但考虑到Gmail主要基于Web,这有点奇怪。 – Georgewb13

-1

Gmail可能会剥离邮件中的HTML作为安全手段,或者在服务器上节省空间,尽管它当然不会剥夺广告客户的HTML副本。新应用的评论者们谈论了客户的颜色和清新的外观,但完全忽略了格式化的问题,并且Google的“现在你看到它现在你不会去掉用户选项的切换”格式化文本。

转发HTML邮件时,我不认为新客户端会删除格式,但我必须检查。

与此同时,我想找到一个解决这个混乱,我认为只能由第三方应用程序修复。

相关问题