2

いくつか検索しましたが、GMail バージョン 4.6 に関する私の質問に答えるものはないと思います

私の問題は、作成した Android アプリから送信された電子メール内で HTML 形式をレンダリングできないことです。text/html タイプが定義されたインテントを使用しています。GMail アプリケーションが送信前にメールから HTML を取り除いてしまうため、問題の原因は GMail アプリケーションにあると思います。

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 アプリをクラッシュさせるようです。

4

1 に答える 1

0

経由で呼び出されたメール クライアントではACTION_SEND、ユーザーはメッセージを編集できますが、すべてのメール クライアントが可能なすべての HTML タグの編集を提供しているわけではありません。特に、EditTextエディタの基盤として使用するものは、HTML タブレットをサポートする可能性は低いです。

于 2013-10-18T13:46:11.247 に答える