从电子邮件意图中检索电子邮件“收件人”字段

时间:2018-11-28 15:46:52

标签: android email android-intent

在我的应用程序中,我允许用户通过电子邮件发送消息。

我使用这样的代码

Intent i = new Intent(Intent.ACTION_SENDTO);
i.setData(Uri.parse("mailto:"));
i.putExtra(Intent.EXTRA_EMAIL  , new String[]{Settings.getLastEmail()});
i.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.settings_DeviceID));
startActivity(i);

摘自how can I send emails from my android application

这时会出现一个gmail窗口,用户可以在“收件人”收件人中输入地址。

我想检索输入的地址,以便下次用户发送电子邮件时将其显示为默认的“收件人”。

有没有一种方法可以从名为的gmail中检索输入的地址 startActivity

1 个答案:

答案 0 :(得分:1)

这确实是不可能的。

您的项目无法访问Gmail应用程序中的“收件人”字段,并且当用户离开时,Gmail不会将任何信息发送回您的应用程序(意图是一种方式)。

此外,即使您可以通过这种方式专门与Gmail应用程序进行交互,如果用户没有安装 Gmail客户端怎么办?他们可能正在使用本机电子邮件客户端或Outlook,或其他许多可能性。

最好使用:

i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"recipient@example.com"});

通过软件将收件人地址发送到电子邮件程序,存储用户输入的值,并在默认情况下下次发送。