android中的电子邮件附件未成功
考虑以下代码:android中的电子邮件附件未成功,android,Android,考虑以下代码: String outFileName = "/data/data/com.packagename/attachment.ics"; emailintent.putExtra(Intent.EXTRA_STREAM, Uri.parse(outFileName)); emailintent.setType("plain/text"); startActivity(Intent.createChooser(emailintent, "Send mai
String outFileName = "/data/data/com.packagename/attachment.ics";
emailintent.putExtra(Intent.EXTRA_STREAM, Uri.parse(outFileName));
emailintent.setType("plain/text");
startActivity(Intent.createChooser(emailintent, "Send mail..."));
上面的代码正在启动电子邮件客户端,启动时会显示附件。但是当我发送电子邮件时,附件没有收到。尸体正在接收中。
这里出了什么问题
先谢谢你
编辑:
我需要为ics文件设置特定的mime类型吗?我甚至尝试发送一个txt文件,但也没有发送。当我试图发送电子邮件时,附件确实会显示,但当我收到电子邮件时,附件不会显示
emailintent.setType("text/calendar");
试试这个
emailintent.setType("text/calendar");
与此主题相关的线程很多 你试过添加这个吗
i.putExtra(Intent.EXTRA_流,Uri.parse(“文件:/”+attachmentFilePath))代码>
与此主题相关的帖子很多
你试过添加这个吗
i.putExtra(Intent.EXTRA_流,Uri.parse(“文件:/”+attachmentFilePath))代码>
}
这会有用的
}
这将起作用…我发现了正在发生的问题。我将要附加到电子邮件的文件放入应用程序中的私人文件夹。电子邮件客户端无法访问
我所要做的就是把它放在SD卡上的公共目录里。。电子邮件客户端获得了访问权限,我开始接收我从应用程序发送的邮件
PS:即使对于ics文件,MIME类型也是纯文本
谢谢你的帮助。我发现了正在发生的问题。我将要附加到电子邮件的文件放入应用程序中的私人文件夹。电子邮件客户端无法访问
我所要做的就是把它放在SD卡上的公共目录里。。电子邮件客户端获得了访问权限,我开始接收我从应用程序发送的邮件
PS:即使对于ics文件,MIME类型也是纯文本
感谢您的帮助。我在使用附加SQLite数据库发送电子邮件时也面临同样的问题。我正在寻找这个问题的解决办法,但什么也没找到
无法通过电子邮件从内部存储发送附加文件
要通过电子邮件发送文件,请先将该文件保存到外部存储器,然后附加并发送
我正在使用此代码将文件保存到SD卡
public void copyFileToSdCard()
{
File f = new File(Environment.getExternalStorageDirectory() + "/File name");
if(f.exists())
{
}
else
{
try
{
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite())
{
String currentPath = "file path";
String backupFilePath = "file name ";
File currentFile = new File(data, currentPath);
File backupFile = new File(sd, backupFilePath);
if (currentFile.exists()) {
FileChannel src = new FileInputStream(currentFile).getChannel();
FileChannel dst = new FileOutputStream(backupFile).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
}
catch (Exception e) {
Log.w("Backup", e);
}
}
}
这是附加和发送的
Intent i = new Intent(Intent.ACTION_SEND);
i.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] {emailAddress});
i.putExtra(Intent.EXTRA_SUBJECT, "Subject text");
i.putExtra(Intent.EXTRA_TEXT, "Body text");
Uri uri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "file name"));
i.putExtra(Intent.EXTRA_STREAM, uri);
i.setType("text/plain");
startActivity(Intent.createChooser(i, "Send mail"));
我在使用附加SQLite数据库发送电子邮件时也面临同样的问题。我正在寻找这个问题的解决办法,但什么也没找到
无法通过电子邮件从内部存储发送附加文件
要通过电子邮件发送文件,请先将该文件保存到外部存储器,然后附加并发送
我正在使用此代码将文件保存到SD卡
public void copyFileToSdCard()
{
File f = new File(Environment.getExternalStorageDirectory() + "/File name");
if(f.exists())
{
}
else
{
try
{
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite())
{
String currentPath = "file path";
String backupFilePath = "file name ";
File currentFile = new File(data, currentPath);
File backupFile = new File(sd, backupFilePath);
if (currentFile.exists()) {
FileChannel src = new FileInputStream(currentFile).getChannel();
FileChannel dst = new FileOutputStream(backupFile).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
}
catch (Exception e) {
Log.w("Backup", e);
}
}
}
这是附加和发送的
Intent i = new Intent(Intent.ACTION_SEND);
i.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] {emailAddress});
i.putExtra(Intent.EXTRA_SUBJECT, "Subject text");
i.putExtra(Intent.EXTRA_TEXT, "Body text");
Uri uri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "file name"));
i.putExtra(Intent.EXTRA_STREAM, uri);
i.setType("text/plain");
startActivity(Intent.createChooser(i, "Send mail"));
这与电子邮件附件有什么关系。。为什么在我收到邮件时不显示…它在我发送邮件或emailintent.setType(“text/plain”)时显示;首先告诉我什么是attachment.ics?它是一个包含一些事件细节的文件,我已经通过代码输入了这些细节。此文件可以在MAC系统上打开。如果我们点击mac上的ics文件,那么该文件的内容将直接添加到mac OS中的日历中。。ie iCal.只需尝试附加图像并检查图像是否会在电子邮件中出现。。?我认为这个文件会产生问题..这和电子邮件附件有什么关系。。为什么在我收到邮件时不显示…它在我发送邮件或emailintent.setType(“text/plain”)时显示;首先告诉我什么是attachment.ics?它是一个包含一些事件细节的文件,我已经通过代码输入了这些细节。此文件可以在MAC系统上打开。如果我们点击mac上的ics文件,那么该文件的内容将直接添加到mac OS中的日历中。。ie iCal.只需尝试附加图像并检查图像是否会在电子邮件中出现。。?我认为这个文件会产生问题..不起作用,正如你上面所建议的。我仍然无法收到附件不工作,你上面建议的。我仍然无法收到附件。您是否允许上网?您的文件路径是否正确?在处理ics文件时,是否需要添加特殊的MIME类型?请使用此emailIntent.setType(“文本/日历”);而不是emailIntent.setType(“文本/html”);因为您使用的是“.ics”“扩展名文件,,,可能有效。您的文件位置是什么?”?在asset folderno中,这是我的路径:/data/data/com.helios.NauticDates/attachment.icsu是否授予internet权限?您的文件路径是否正确?在处理ics文件时,是否需要添加特殊的MIME类型?请使用此emailIntent.setType(“文本/日历”);而不是emailIntent.setType(“文本/html”);因为您使用的是“.ics”“扩展名文件,,,可能有效。您的文件位置是什么?”?在asset folderno中,以下是我的路径:/data/data/com.helios.NauticDates/attachment.ics如何在外部存储器中保存文件:如何在外部存储器中保存文件: