1

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

这是我的代码:

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..."));
4

2 回答 2

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" />
于 2012-05-11T08:00:01.100 回答
0

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

Android 将自动过滤表示可以发送纯文本/文本的应用程序,并提示用户他想使用哪个应用程序。

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

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

我希望我足够清楚

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

于 2012-05-11T07:44:05.093 回答