2010-12-30 16 views
5

価格を計算し、そのデータをあらかじめフォーマットされた形式でユーザーの選択したメールプログラムに転送できるAndroidアプリを作成しました。ユーザーがアプリケーションで作成したデータに応じて、HTMLを含む文字列がインテントに読み込まれます。このため、私が持っているコードは次のとおりです。AndroidでHTML形式のメールを送信する

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 

emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(emailText)); 
QuoteDroid.this.startActivity(emailIntent); 

これは、すべての罰金ですと電子メールは、私はGmailアプリを選択して、一般的にほとんど正しいを送信するときに、正しいフォーマットさほとんどです。私がこれを持っている問題は、ビジネス目的で非Gmailアカウントから送信しなければならないということです。電話で一般的な電子メールアプリケーションを選択すると、HTMLが正しく処理されず、電子メールを送信すると、プレーンテキストで整形されます。

私は数え切れないほどの記事やフォーラム投稿を読んだことがありますが、役に立たないものです。 HTMLを含む文字列を処理して、内蔵の電子メールアプリケーションで送信された後に電子メールが受信者によって適切に表示されるようにするにはどうすればよいですか?

+0

あなたはこれを回避できませんでしたか? – skorulis

+0

残念ながら、唯一の方法は、アプリケーションから電子メールを送信する機能をコーディングすること、またはこの用途のための全く新しい電子メールアプリケーションを構築することです。マーケットプレイスにHTMLを送信するアプリがあるかもしれません。 –

答えて

1

EXTRA_TEXTとして受け取った文字列を正しく処理するには、個々のメールアプリケーションが必要です。正常に動作するメールアプリケーションはMIMEタイプを表示し、EXTRA_TEXTを適切に処理しますが、すべてのメールアプリケーションで処理するわけではありません。

+0

どうすればいいのですか? –

+0

あなたはアプリから直接メールを送信する機能を構築しています。 –

0
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body)); 
startActivity(Intent.createChooser(emailIntent, "Email:")); 
関連する問題