mailto Intent 不显示收件人地址(Android 工作室)

Posted

技术标签:

【中文标题】mailto Intent 不显示收件人地址(Android 工作室)【英文标题】:mailto Intent doesn't show recipient address (Android studio) 【发布时间】:2021-10-08 11:40:48 【问题描述】:

我正在尝试从我的 android 应用程序发送电子邮件。只需单击一个按钮,gmail 应该会打开并显示一封包含我之前定义的收件人、主题和电子邮件正文的新电子邮件。

这是 2 天的工作方式,但今天,收件人地址没有被复制到 gmail 地址栏——只有主题和正文被复制。

这是我的代码(我没有改变它——它和两天前一样):

    Intent intent = new Intent(Intent.ACTION_SENDTO);
    intent.setData(Uri.parse("mailto:")); 
    intent.putExtra(Intent.EXTRA_EMAIL, recipient);
    intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    intent.putExtra(Intent.EXTRA_TEXT, message);

    if (intent.resolveActivity(getPackageManager()) != null) 
        startActivity(intent);
    

【问题讨论】:

ACTION_SENDTO 没有记录这些额外内容。将您的电子邮件地址放入您传递给Uri.parse()、the way that mailto links have worked on the Web for a couple of decades 的字符串中。 谢谢。地址栏现在被复制了......但是现在缺少主题和正文! 编辑了我的评论 - 现在不会复制主题和正文 这两个也应该进入mailto:链接,the way that mailto links have worked on the Web for a couple of decades。 哦,好的,我现在知道了...非常感谢!奇怪的是该应用程序直到今天都可以正常运行 【参考方案1】:

在字符串数组中添加收件人地址,:

试试这个代码:

    Intent intent = new Intent(Intent.ACTION_SENDTO);
    intent.setData(Uri.parse("mailto:"));
    intent.putExtra(Intent.EXTRA_EMAIL,  new String[]recipient);
    intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    intent.putExtra(Intent.EXTRA_TEXT, message);

    if (intent.resolveActivity(getPackageManager()) != null) 
        startActivity(intent);
    

【讨论】:

以上是关于mailto Intent 不显示收件人地址(Android 工作室)的主要内容,如果未能解决你的问题,请参考以下文章

发送邮件mailto的使用

使用 html Mailto 向多个收件人发送电子邮件:不起作用

ios分享联系人结合mailto

隐藏或替换电子邮件地址 mailto:Laravel

如何启动预先填写“收件人”字段的电子邮件应用程序?

发送邮件error.log,显示mailto php上的套接字错误