2012-08-09 38 views
1

写一个代码发送一封电子邮件沿附件。一旦我发送这封电子邮件,它会在附件中添加垃圾值。 附件以不同的格式编码。电子邮件附件图片cant发送

Intent i = new Intent(android.content.Intent.ACTION_SEND); 
i.setType("text/html"); 
i.putExtra(Intent.EXTRA_EMAIL, new String[] {"[email protected]", "[email protected]" }); 
i.putExtra(Intent.EXTRA_SUBJECT, "subject of email"); 
i.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + sPhotoFileName)); 
i.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(mailBody)); 
startActivity(Intent.createChooser(i, "Send mail...")); 

预计: 它应该在附件中的图片文件比编码字符串等。

任何帮助将不胜感激。 在此先感谢。

+0

经过以下[文章](http://stackoverflow.com/questions/11465796/will-anyone-give-example-for-sending-mail-with-attachment-in-android/11467525#11467525)它解决了你的问题。 – Harish 2012-09-14 06:54:57

回答

1
File jpegfile = new File(imageDir, "yourfilename.jpeg"); 

Uri jpegurl = Uri.fromFile(jpegfile); 

Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
intent.setType("image/jpeg"); // 
intent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Mail Subject"); 
intent.putExtra(android.content.Intent.EXTRA_CC, new String[] { "[email protected]" }); 
intent.putExtra(Intent.EXTRA_TEXT, "Mail body text"); 
intent.putExtra(Intent.EXTRA_STREAM, jpegurl); 
0

你需要设置你的意图类型来正确处理图像,假设它是一个PNG,如下所示。

Intent emailIntent = new Intent(Intent.ACTION_SEND, Uri.fromFile(temp)); 
emailIntent.setType("image/png"); 
emailIntent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.email_share_subject)); 
emailIntent.putExtra(Intent.EXTRA_TEXT, getString(R.string.email_share_message)); 
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(temp)); 
startActivity(Intent.createChooser(emailIntent, "Send mail...")); 
0

如果你在sen mail上发送jpg图像...只需写i.setType(“image/jpeg”);并发送任何文件只需写i.setType(“image/*”);

0
i've done for send any file from SD card with mail attachment.. 

Intent sendEmail= new Intent(Intent.ACTION_SEND); 
     sendEmail.setType("rar/image"); 
     sendEmail.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new   
     File("/mnt/sdcard/download/abc.rar"))); 
     startActivity(Intent.createChooser(sendEmail, "Email:"));