无法在真实设备上从Android应用程序发送电子邮件

时间:2012-05-11 06:09:19

标签: android

我开发了一个发送电子邮件的应用程序。在设备上运行时,它会显示消息“Message Sending ....”,但实际上并未发送电子邮件。

这是我的代码:

Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"abc@gmail.com"});

email.putExtra(Intent.EXTRA_SUBJECT, "subject");
email.putExtra(Intent.EXTRA_TEXT, body);
email.setType("plain/text");
startActivity(Intent.createChooser(email, "Sending mail..."));

2 个答案:

答案 0 :(得分:1)

Intent sendIntent = new Intent(Intent.ACTION_SEND);
String []mailto = { "Your emill id"};
sendIntent.putExtra(Intent.EXTRA_EMAIL,mailto);
sendIntent.putExtra(Intent.EXTRA_SUBJECT,"");
sendIntent.putExtra(Intent.EXTRA_TEXT, "");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, "MySendMail"));

和 在你的清单中:

<uses-permission android:name="android.permission.INTERNET" />

答案 1 :(得分:0)

您正在使用意图,他们不应该发送电子邮件,而是启动设备上安装的任何电子邮件客户端。

Android将自动过滤应用程序,说明他们可以发送普通/文本并提示用户他想要使用哪个应用程序。

但是,根据用户最终选择的应用程序,用户将有机会在发送之前查看邮件和其他内容。

如果您只想发送电子邮件,那么您将必须实现自己的电子邮件客户端(有大量可用的java电子邮件库)或使用明确的意图(而不是现在正在使用的隐含)到您知道的应用程序直接发送电子邮件。

我希望我足够清楚

官方文档的更多信息: http://developer.android.com/reference/android/content/Intent.html