如何通过android中的电子邮件发送图像?

时间:2013-06-01 10:19:36

标签: android email

我正在开发一个应用程序,我必须通过电子邮件发送图像,我尝试使用 Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, "xyz@gmal.com");
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "message");
            emailIntent.setType("image/png");

            ArrayList<Uri> uris = new ArrayList<Uri>();

            uris.add(Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.a));

            emailIntent.putExtra(Intent.EXTRA_STREAM, uris);

            startActivity(emailIntent);

但它让我作为 gmail已经停止了。如何通过电子邮件发送图片, 提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用文件

获取图像存储路径
 File img = new File(Environment.getExternalStorageDirectory()+"/Android/data/"+getApplicationContext().getPackageName()+"/", imagename+".png");

将该文件路径转换为Uri

Uri imageuri = Uri.fromFile(img);

使用

通过电子邮件发送图像
Intent send_img = new Intent(Intent.ACTION_SEND);
                                        send_img.putExtra(Intent.EXTRA_EMAIL, "xyz@gmal.com"); 
                                        send_img.putExtra(Intent.EXTRA_SUBJECT, "email_subject");
                                        send_img.putExtra(Intent.EXTRA_STREAM, imageuri);
                                        send_img.putExtra(Intent.EXTRA_TEXT, "message");  
                                        send_img.setType("text/plain");
                                        send_img.setType("image/png");
 startActivity(Intent.createChooser(send_img, "Send Email..."));