Android中的附件

时间:2011-12-24 12:49:23

标签: android email android-intent

我正在做简单的录音应用程序。在我的应用程序中,录音后,文件将通过邮件使用Intent

发送给某人

我正确地获取文件路径,它也附加了。但是,当我收到文件到我的邮件时,文件大小是0字节。缺少什么?而且,发送电子邮件时我的文件大小没有显示?

4 个答案:

答案 0 :(得分:2)

我认为URL不正确,因此附加了0KB文件

使用以下行添加到附件

sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + path));

答案 1 :(得分:1)

您似乎在savedUri中拥有该文件的路径。现在只是附加到电子邮件的问题。试试这个:

    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setType("audio/amr");
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"ab@xyz.com"});  
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "xyz");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "body");
    emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ savedUri));
    startActivity(Intent.createChooser(emailIntent, "Sent"));

答案 2 :(得分:1)

我已完成从SD卡发送任何带有邮件附件的文件..

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:"));

答案 3 :(得分:0)

我是靠自己做的。喜欢 -

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[]{emailTo});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailText);
//has to be an ArrayList
 ArrayList<Uri> uris = new ArrayList<Uri>();
 //convert from paths to Android friendly Parcelable 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);
 emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 context.startActivity(emailIntent);

感谢大家的回复。