【问题标题】:Retrieving the email "to" field from the email intent从电子邮件意图中检索电子邮件“收件人”字段
【发布时间】:2019-04-30 14:02:12
【问题描述】:

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

我使用这样的代码

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?

【问题讨论】:

  • 即使可以从 gmail 中检索电子邮件地址(我怀疑这是可能的),您也无法确定用户已将哪个电子邮件应用程序设置为默认值。用户甚至可能没有安装 Gmail。

标签: android email android-intent


【解决方案1】:

这真的是不可能的。

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

此外,即使您能够以这种方式专门与 Gmail 应用程序交互,如果用户没有安装 Gmail 客户端怎么办?他们可能正在使用本机电子邮件客户端、Outlook 或任何数量的其他可能性。

你最好使用:

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

将收件人地址从您的软件发送到电子邮件程序,存储用户输入的值,下次默认发送。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2022-06-16
    • 2019-06-23
    相关资源
    最近更新 更多