Android-从应用程序发送电子邮件

Android-从应用程序发送电子邮件,android,email-attachments,Android,Email Attachments,我在从Android应用程序发送电子邮件时遇到问题。它间歇性工作,不可靠。大多数情况下,它卡在发件箱中,处于“发送…”状态 我知道这是一个经常在这里重复的问题,但我再次问这个问题,因为我已经尝试了相当多的代码变体,它们似乎都不能可靠地工作。一些论坛也说这是GMail应用程序的错;我尝试过“刷新发件箱文件夹”和“禁用并启用同步”,但似乎没有任何效果 这是我的密码: Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND)

我在从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();
  • 有人能解释一下为什么这个不行吗
  • setType()的值应该是多少?在哪里可以找到可用值的列表
  • 是因为我试图发送一个.zip文件吗?如果是的话,其他归档格式是否可行
  • 非常感谢你的帮助


    编辑:我怀疑问题出在文件格式(.zip)上。其他文件格式也可以。我放弃了这种方法,转而使用TCP,使用自己的服务器监听数据

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

    谢谢您的回复。文件大小相当小,约为1 MB。请尝试只发送一个文件,如图片或其他内容,然后查看是否发生相同的情况。如果是这样的话,那可能是因为你的电话连接很弱,而它没有发送。我尝试发送了一个.csv文件,结果成功了,虽然花了一些时间。但拉链似乎永远卡住了。看看马克西姆斯说了什么。试着探索这条路线,看看它是否能解决问题。在#2上,你试过其他路线吗?谷歌提供了一些其他选项,比如application/x-compressed或multipart/x-zipI可以编写一个小型服务器,并使用TCP从我的android应用程序获取数据,但为什么电子邮件不起作用呢?