Intent intent = new Intent(Intent.ACTION_SEND); intent.setType(“text/html”); intent.putExtra(Intent.EXTRA_EMAIL, "emailaddress@emailaddress.com”); intent.putExtra(Intent.EXTRA_SUBJECT, “Subject”); intent.putExtra(Intent.EXTRA_TEXT, “I’m email body.”);
startActivity(Intent.createChooser(intent, "Send Email"));
上面的代码会打开一个对话框,显示以下应用程序:蓝牙、Google Docs、Yahoo Mail、Gmail、Orkut、Skype 等。
实际上,我想过滤这些列表选项。我只想显示与电子邮件相关的应用程序,例如 Gmail、Yahoo Mail。怎么做?
我在“Android Market”应用程序上看到过这样的例子。
该对话框仅显示电子邮件应用程序,例如 Gmail、Yahoo Mail 等。它不显示蓝牙、Orkut 等。什么代码会产生这样的对话框?
当您像下面一样更改您的 intent.setType 时,您将得到
intent.setType("text/plain");
用于android.content.Intent.ACTION_SENDTO仅获取电子邮件客户端列表,没有 facebook 或其他应用程序。只是电子邮件客户端。前任:
android.content.Intent.ACTION_SENDTO
new Intent(Intent.ACTION_SENDTO);
我不建议您直接访问电子邮件应用程序。让用户选择他最喜欢的电子邮件应用程序。不要约束他。
如果您使用 ACTION_SENDTO,putExtra 无法向意图添加主题和文本。使用 Uri 添加主题和正文。
编辑: 我们可以使用message/rfc822而不是"text/plain"MIME 类型。但是,这并不表示“只提供电子邮件客户端”——它表示“提供任何支持消息/rfc822 数据的东西”。这可能很容易包括一些不是电子邮件客户端的应用程序。
message/rfc822
"text/plain"
message/rfc822支持 MIME 类型.mhtml, .mht, .mime
.mhtml, .mht, .mime