我使用以下代码发送带有mp4附件的电子邮件:
Intent email = new Intent(Intent.ACTION_SEND);
email.setType("*/mp4");
email.putExtra(Intent.EXTRA_EMAIL, new String[]{to});
email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, message);
File f = new File(record[ipos]);
Uri uri = Uri.fromFile(f);
email.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(email, "Select Email Client"));
f
和uri
的值等于:
f = {java.io.File@830047473992} "data/data/com.example.bernard.speechparole/files/5-auth.mp4"
uri = {android.net.Uri$HierarchicalUri@830047488248} "file:///data/data/com.example.bernard.speechparole/files/5-auth.mp4"
我选择了雅虎客户端: 它显示在客户端(yahoo)中,附带文件大小的正确文件。一切正常,但我从未收到过电子邮件(我已经检查了垃圾邮件文件夹)。当我发送没有附件的电子邮件时(我从客户端删除附件),一切正常,我收到了电子邮件。
我选择了Gmail客户端: 电子邮件显示正确的附件文件名但没有文件大小。 我得到了“无法发送附件”。我收到没有附件的电子邮件。
非常感谢任何帮助!