0

我在从 Android 应用程序发送电子邮件时遇到问题。它间歇性地工作且不可靠。大多数时候,它卡在发件箱中,处于“正在发送……”状态。

我知道这是一个经常重复的问题,但我再次问这个问题,因为我已经尝试了很多代码变体,但它们似乎都不能可靠地工作。一些论坛还说这是GMail应用程序的错;我已经尝试过“刷新发件箱文件夹”和“禁用和启用同步”,但似乎没有任何效果。

这是我的代码:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "emailText");
emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
emailIntent.setType("application/zip");
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("/mnt/sdcard/myFolder/myFile.zip")));
startActivity(Intent.createChooser(emailIntent, "send email"));
finish();
  1. 有人可以解释为什么这行不通吗?
  2. setType() 的值应该是多少?我在哪里可以找到可用值的列表?
  3. 是因为我想发送一个 .zip 文件吗?如果是这样,其他存档格式会起作用吗?

非常感谢你的帮助。

编辑:我怀疑问题出在文件格式(.zip)上。其他文件格式工作得很好。我已经放弃了这种方法,转而使用我自己的服务器侦听数据的 TCP。

4

1 回答 1

0

它可能停留在发送状态的原因是因为根据 zip 文件的大小,它必须将其添加到电子邮件中。如果它太大(超过 30 MB)它可能会挂起并被谷歌拒绝,因为谷歌不允许在电子邮件中发送超过 30MB 的内容。这只是一个猜测,但请尝试发送一个小文件,看看是否是这种情况。

于 2011-04-15T17:13:01.733 回答