在android中通过电子邮件发送图像的可能方法是什么?

时间:2015-05-25 09:25:15

标签: android email android-intent android-studio implicit

我使用以下代码发送html格式以在Android中发送电子邮件;现在我想用它发送图像。

   private void friends_email_share() {

    Log.i("Send email", "");
    String mail_body = "<!DOCTYPE html><html><body>\n" +
            "    <p>Hi,</p>\n" +
            "    <p>Lorem Ipsum <b>Lorem Ipsum Lorem Ipsum Lorem IpsumLorem </b> Lorem IpsumLorem  Ipsum</p>\n" +
            "    <p>Lorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem IpsumLorem Ipsum.</p>\n" +
            "    <p>Lorem IpsumLorem  IpsumLorem IpsumLorem IpsumLorem IpsumLorem Ipsum.</p>\n" +
            "    <p>Lorem IpsumLorem  IpsumLorem IpsumLorem IpsumLorem IpsumLorem Ipsum.</p>\n" +
            "    <p>Lorem IpsumLorem IpsumLorem IpsumLorem  IpsumLorem IpsumLorem Ipsum.</p>\n" +
            "</body></html>";
    String[] TO = {};
    String[] CC = {};
    Intent emailIntent = new Intent(Intent.ACTION_SEND);
    emailIntent.setData(Uri.parse("mailto:"));
    emailIntent.setType("text/html");
    emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
    emailIntent.putExtra(Intent.EXTRA_CC, CC);
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Extra Subject");
    emailIntent.putExtra(Intent.EXTRA_TEXT, "" + "\n" + Html.fromHtml(mail_body));
    try {
        startActivity(Intent.createChooser(emailIntent, "Send mail..."));
        //getActivity().finish();
        Log.i("-->", "Finished sending email...");
    } catch (android.content.ActivityNotFoundException ex) {
        Toast.makeText(getApplicationContext(), "There is no email client installed.", Toast.LENGTH_SHORT).show();
    }

在Android中通过电子邮件发送图像的可能方法有哪些?

我需要一个认真的帮助,谢谢....

2 个答案:

答案 0 :(得分:1)

这可能对你有帮助..

尝试{

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);  
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "android@abcxyz.com" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Emergency");         
emailIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("file://"+ path + "/" + image_name));
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Please Find Attachments");
startActivity(Intent.createChooser(emailIntent, "Send mail..."));
} catch (Throwable t) {
    Toast.makeText(MainActivity.this, "Request failed: " + t.toString(),Toast.LENGTH_LONG).show();
}

}

答案 1 :(得分:0)

您可以找到答案here

关于您的问题,您可以将资源文件夹中的图像添加为如下附件:

 Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.setType("application/image");
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, "Text text");
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"This is email subject");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is extra text");
    emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///android_asset/allimages/demoImage.jpg"));
    startActivity(Intent.createChooser(emailIntent, "Send mail..."));

希望这有帮助。