我正在尝试从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。我无法弄清楚如何使用它的扩展发送它......这就是我需要帮助的地方。感谢。
答案 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:/// ...”语法。
谢谢,