我通过我的申请发送邮件。 为此,我使用以下代码。
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
i.putExtra(Intent.EXTRA_TEXT , "body of email");
try {
startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}
它工作正常,但我想附加一个xml文件。 可能吗?怎么样?
答案 0 :(得分:5)
在Stack Overflow中已经有很多类似的问题需要完美的解决方案。
解决方案是与电子邮件意图一起使用:另外一个 putExtra与Key-Extra_Stream和Value-uri到文件。
请通过FAQ来了解如何更好地从网站获益。
答案 1 :(得分:3)
String pathname= Environment.getExternalStorageDirectory().getAbsolutePath();
String filename="/MyFiles/mysdfile.txt";
File file=new File(pathname, filename);
Intent i = new Intent(Intent.ACTION_SEND);
i.putExtra(Intent.EXTRA_SUBJECT, "Title");
i.putExtra(Intent.EXTRA_TEXT, "Content");
i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
i.setType("text/plain");
startActivity(Intent.createChooser(i, "Your email id"));
答案 2 :(得分:0)
ACTION_SEND_MULTIPLE
应该是操作,然后emailIntent.setType("text/plain");
后跟:
ArrayList<Uri> uris = new ArrayList<Uri>();
String[] filePaths = new String[] {"sdcard/sample.png", "sdcard/sample.png"};
for (String file : filePaths)
{
File fileIn = new File(file);
Uri u = Uri.fromFile(fileIn);
uris.add(u);
}
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivity(emailIntent);
答案 3 :(得分:0)
使用gmail发送附件:
文件应位于外部存储设备上或在外部存储设备中创建
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
通过
获取外部路径 String pathname= Environment.getExternalStorageDirectory().getAbsolutePath();
按
创建新文件 File myfile=new File(pathname,filename);
现在是意图
Intent email=new Intent(android.content.Intent.ACTION_SEND);
email.setType("plain/text");
添加额外内容
email.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(myfile));
email.putExtra(Intent.EXTRA_SUBJECT, "my email subject");
email.putExtra(Intent.EXTRA_TEXT, "my email text");
开始活动
startActivity(Intent.createChooser(email, "E-mail"));