2010-05-17 85 views
1

我想通过Android。发送乘法attachement电子邮件

startActivity(Intent.createChooser(new Intent(android.content.Intent.ACTION_SEND))) 

我知道附加文件发送邮件到电子邮件,我需要

intentEmail.putExtra(android.content.Intent.EXTRA_STREAM, <Uri of file>) 

,但我需要添加若干文件。我怎样才能做到这一点?

+0

我会marrk这个问题,打开,但我发现了一个解决办法:使用 ZipOutputStream使文件,我想附的压缩zip文件。 – davs 2010-05-28 12:32:06

回答

1

这应该工作,以发送多个附件

public static void sendEmail(Context context, String emailTo, String emailCC, 
      String subject, String message, List<String> filePaths) 
     { 
      //send email with multiple attachments 
      final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE); 
      emailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      emailIntent.setType("text/plain"); 
      emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, 
       new String[]{emailTo}); 
      emailIntent.putExtra(android.content.Intent.EXTRA_CC, 
       new String[]{emailCC}); 
      emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, 
        subject); 
      emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, 
        message); 
      ArrayList<Uri> uris = new ArrayList<Uri>(); 
      //convert from paths to Uri's 
      for (String file : filePaths) 
      { 
       File fileIn = new File(file); 
       Uri u = Uri.fromFile(fileIn); 
       uris.add(u); 
     } 

      emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); 
      context.startActivity(emailIntent); 
     }