0

私のアプリケーションでは、ファイルの URL を電子メールで送信するオプションがあり、nexus 7 (OS バージョン 4.2.2 のみ) を除くすべてのデバイスで正常に動作します。nexus 7 からメールを送信すると、受信者はテキストのみを受信します。多くの解決策を検索しましたが、何も見つかりませんでした。以下は私のコードです

public static boolean sendEmailLink(Context context, String[] emailTo, String[] emailCC, String[] emailBCC, String subject, String emailBody, String notification) throws ActivityNotFoundException {

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

    emailIntent.setType("message/rfc822");

    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, emailTo);

    emailIntent.putExtra(android.content.Intent.EXTRA_CC, emailCC);

    emailIntent.putExtra(android.content.Intent.EXTRA_BCC, emailBCC);

    emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);

    emailIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(emailBody));

    context.startActivity(Intent.createChooser(emailIntent, notification));

    return true;

} 
4

2 に答える 2

1

少しの違いですが、多分それは役に立ちます。この他の Intent コンストラクターを試すことができます

Intent i = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:" + destination));

それは私にとってはうまくいきます、これが私が使用する完全な方法です:

public static void sendMail(Activity activity, String subject, String body, String destination) {
    Intent i = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:" + destination));
    i.putExtra(Intent.EXTRA_SUBJECT, subject);
    i.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(body));
    activity.startActivity(Intent.createChooser(i, "Send mail..."));
}

それがうまくいくことを願っています。

于 2013-05-28T12:45:28.387 に答える
0

これを試してみてください。

Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
emailIntent.setData(Uri.parse("mailto:"));
emailIntent.putExtra(Intent.EXTRA_SUBJECT,BusinessName);
emailIntent.putExtra(Intent.EXTRA_TEXT,Html.fromHtml(new StringBuilder().append(BusinessName+ "<br /><br />"+ LongDesc+ "<br /><br />"+ "<a href=\""+ ShareURL+ "\">"+ ShareURL+ "</a>").toString()));
startActivity(Intent.createChooser(emailIntent, "Send email..."));
于 2013-04-04T05:05:59.610 に答える