2013-10-18 65 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郵件時,我不認爲新客戶端會刪除格式,但我必須檢查。

與此同時,我想找到一個解決這個混亂,我認爲只能由第三方應用程序修復。