如何从Android发送附件时添加.pdf扩展名?

时间:2010-09-23 14:23:09

标签: android email attachment

我正在尝试从Android发送pdf作为附件。这是代码:

String[] mailto = {"me@gmail.com"};
Uri uri = Uri.parse("android.resource://com.mywebsite.sendemail/raw/mypdf");

Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, mailto);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "My Subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "My Body");
emailIntent.setType("application/pdf");
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);

startActivity(Intent.createChooser(emailIntent, "Send email using:"));

现在这可行,但问题是附件名为mypdf而不是mypdf.pdf。我无法弄清楚如何使用它的扩展发送它......这就是我需要帮助的地方。感谢。

2 个答案:

答案 0 :(得分:2)

我不相信你想要什么,因为你从资源中提取PDF。如果将PDF复制到本地文件(具有正确的扩展名)并发送,则应在结果消息中获取扩展名。但直接从资源中...我怀疑没有办法添加扩展名。

答案 1 :(得分:1)

当我尝试使用.putExtra方法时,它总是使用“强制关闭”消息来崩溃我的应用程序。如果我使用类似的东西:    String mtUri =“mailto:someone@gmail.com?subject = Some subject& body = some text&”;    Intent intent = new Intent(Intent.ACTION_SENDTO,Uri.parse(mtUri));    startActivity(意向);

似乎工作正常。我仍然有附加文件的问题,可以使用一些帮助figurint“attachment = file:/// ...”语法。

谢谢,