2017-01-11 28 views
0

我試圖將HTML代碼嵌入到android gmail中。我已經在SO上尋找答案。他們大多數都過時了。一些信息,例如我想要發送給用戶的顏色。我把從我的應用程序的Gmail意圖和插入這個HTML用於測試目的:嵌入格式的HTML android gmail

sendIntent.setType("text/html"); 
    sendIntent.setData(Uri.parse("mailto:"+receivers.get(0))); 
    sendIntent.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); 
    sendIntent.putExtra(Intent.EXTRA_SUBJECT, getSubject()); 
    if(Build.VERSION.SDK_INT >= 24) { 
     sendIntent.putExtra(Intent.EXTRA_TEXT, message+"\n"+Html.fromHtml("<html><body bgcolor='#ff0000'><table><tr><td bgcolor=\"#ff0000\">aaa</td><td>aaa</td></tr></table></body></html>", Html.FROM_HTML_MODE_LEGACY)); 
    } 
    else{ 
     sendIntent.putExtra(Intent.EXTRA_TEXT, message+"\n"+Html.fromHtml("<html><body bgcolor='#ff0000'><table><tr><td bgcolor=\"#ff0000\">aaa</td><td>aaa</td></tr></table></body></html>")); 
    } 

字符串「AAA」被寫入,但僅此而已。單元格顏色甚至表格都不顯示。這是Gmail限制嗎?

+0

的可能的複製[採用Android意圖發送HTML郵件(http://stackoverflow.com/questions/2544141/sen d-html-mail-using-android-intent) –

+0

@ inner_class7這是我之前提到的過時答案之一。那裏提供的解決方案不起作用。 – learner

回答

0
message+"\n"+Html.fromHtml("<html><body bgcolor='#ff0000'><table><tr><td bgcolor=\"#ff0000\">aaa</td><td>aaa</td></tr></table></body></html>" 

您解析一些HTML獲得Spanned,然後再轉換回Spanned到純String進行連結,刪除所有格式。使用TextUtils.concat()而不是+,嘗試保留一些格式。

但是:

  • 表未由Html,至少API等級24之前的支持(我不認爲更新的版本支持他們要麼)

  • 沒有要求對於任何電子郵件客戶端不搭理你格式化

+0

試圖在之前插入onyl HTML。顯示任何格式。提供答案後。我會嘗試另一種方法。 – learner