Android中的附件

Android中的附件,android,email,android-intent,Android,Email,Android Intent,我正在做一个简单的语音记录应用程序。在我的应用程序中,录音后,文件将使用Intent 我已经正确地获取了文件路径,并且已经附加了它。但是,当我将文件发送到邮件时,文件大小为0字节。我错过了什么?而且,发送电子邮件时没有显示我的文件大小?我认为URL不正确,因此它附加了一个0 KB的文件 在下面的行中使用附加文件 sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + path)); 我认为URL不正确,因此它附加了一个0KB

我正在做一个简单的语音记录应用程序。在我的应用程序中,录音后,文件将使用
Intent


我已经正确地获取了文件路径,并且已经附加了它。但是,当我将文件发送到邮件时,文件大小为0字节。我错过了什么?而且,发送电子邮件时没有显示我的文件大小?

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

在下面的行中使用附加文件

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

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

在下面的行中使用附加文件

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

您似乎在
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"));

您似乎在
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"));

这是我自己做的。像-

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);
final Intent emailIntent=新意图(android.content.Intent.ACTION\u SEND\u MULTIPLE);
emailIntent.setType(“纯/文本”);
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,新字符串[]{emailTo});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,SUBJECT);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,emailText);
//必须是ArrayList
ArrayList URI=新的ArrayList();
//从路径转换为Android友好的包裹Uri
用于(字符串文件:文件路径)
{
File fileIn=新文件(File);
uriu=Uri.fromFile(fileIn);
添加(u);
}
emailIntent.putParcelableArrayListExtra(Intent.EXTRA\u流,URI);
emailIntent.setFlags(Intent.FLAG\u活动\u新任务);
背景。起始触觉(emailIntent);

谢谢你们的回复。

这是我自己做的。像-

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);
final Intent emailIntent=新意图(android.content.Intent.ACTION\u SEND\u MULTIPLE);
emailIntent.setType(“纯/文本”);
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,新字符串[]{emailTo});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,SUBJECT);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,emailText);
//必须是ArrayList
ArrayList URI=新的ArrayList();
//从路径转换为Android友好的包裹Uri
用于(字符串文件:文件路径)
{
File fileIn=新文件(File);
uriu=Uri.fromFile(fileIn);
添加(u);
}
emailIntent.putParcelableArrayListExtra(Intent.EXTRA\u流,URI);
emailIntent.setFlags(Intent.FLAG\u活动\u新任务);
背景。起始触觉(emailIntent);

谢谢你们的回复。

我已经完成了从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:"));

我已经完成了从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:"));

我们需要看到一些代码来帮助你,这一切都取决于这一点(比如,你是如何使用意图的,你是如何发送它的)。@Trytry再次看到这里-我一定是瞎了。我看不到任何带有保存的音频文件的电子邮件。很抱歉,我忘了提供此信息-我们需要查看一些代码来帮助您,这一切都取决于此(例如,您是如何使用意图的,您是如何发送的)。@try再次查看此处-我一定是瞎了。我看不到任何带有保存的音频文件的电子邮件。很抱歉,我忘记将此更改后的wav发送给amr。我认为同样的代码应该适用于amr。将wav更改为amr。我认为同样的代码应该适用于amr。