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

时间:2011-01-17 09:26:27

标签: android email

我需要为用户提供功能,用户可以通过发送电子邮件来共享某些数据。 我使用下面的代码。

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "testing email send.");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("<b>this is html text in email body.</b>"));
startActivity(Intent.createChooser(emailIntent, "Email to Friend"));

显示邮件应用,gmail和蓝牙供用户选择。 我不希望用户在此列表中显示蓝牙。我需要做什么 ? 我有Facebook应用程序,它做同样的事情,但没有在列表中显示蓝牙。 我需要这样做。

3 个答案:

答案 0 :(得分:15)

您可以使用ACTION_SENTTO而不是ACTION_SEND来获取电子邮件客户端列表。我在HTC Wildfire上尝试了这个,它安装了默认的电子邮件客户端,GMail app和k9-3.508-release。当我使用ACTION_SENDTO运行你的代码时,无论蓝牙是启用还是禁用,我都会在上面列出3个电子邮件客户端,而不是蓝牙。我在蓝牙启用和禁用蓝牙时都尝试过。它对我有用。

Intent emailIntent = new Intent(android.content.Intent.ACTION_SENDTO);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "testing email send.");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("<b>this is html text in email body.</b>"));
startActivity(Intent.createChooser(emailIntent, "Email to Friend"));

答案 1 :(得分:14)

请尝试使用此类型:

emailIntent.setType("message/rfc822");

答案 2 :(得分:1)

尝试将EXTRA_EMAIL添加到您的意图中,也可以将蓝牙连接到ACTION_SEND,但如果要发送电子邮件,则不能连接到相同的操作。

见这里:
http://developer.android.com/reference/android/content/Intent.html#ACTION_SEND 在这里 http://developer.android.com/reference/android/content/Intent.html#EXTRA_EMAIL

粗略猜测......