Android Studio 使用通用意图发送邮件时出错[已关闭]

uqcuzwp8  于 2022-11-16  发布在  Android
关注(0)|答案(2)|浏览(163)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

2天前关闭。
Improve this question
我使用intent.setData(Uri.parse("mailto:"));时无法打开Gmail应用程序,而且当我使用intent.setType("text/plain");时,我无法预填充收件人的电子邮件
我试图安装另一个虚拟设备,另一个android abnr,但它没有工作

qyswt5oh

qyswt5oh1#

首先检查虚拟设备,它有任何邮件应用程序安装在它。如果没有,然后尝试与真实的的移动的设备或模拟器,其中有一个电子邮件应用程序安装在它。
代码如下所示。

Java版本

Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
emailIntent.setData(Uri.parse("mailto:abc@xyz.com"));
startActivity(Intent.createChooser(emailIntent, "Send feedback"));

Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:")); // only email apps should handle this
intent.putExtra(Intent.EXTRA_EMAIL, address);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
if (intent.resolveActivity(getPackageManager()) != null) {
    startActivity(intent);
}

Kotlin版本

val emailIntent = Intent(Intent.ACTION_SENDTO).apply { 
data = Uri.parse("mailto:abc@xyz.com")}
startActivity(Intent.createChooser(emailIntent, "Send feedback"))

这是我的输出(仅建议使用Gmail + Inbox):
enter image description here
我从Android开发者网站上得到了这个解决方案。

xurqigkl

xurqigkl2#

您可以使用以下代码段从app -Kotlin发送电子邮件

val intent = Intent(Intent.ACTION_SENDTO)
            intent.data = Uri.parse("mailto:") // only email apps should handle this
            intent.putExtra(
                Intent.EXTRA_EMAIL,
                arrayOf("googledev@google.com", "googledev2@google.com")
            )
            intent.putExtra(Intent.EXTRA_SUBJECT, "Stackoverflow Issue")
            intent.putExtra(Intent.EXTRA_TEXT, "E-mail body");
            startActivity(Intent.createChooser(intent, "Send Email Using..."));

如果有多个应用程序处理SENDTOIntent,则将显示选项以选择应用程序。否则,将直接打开可用的邮件应用程序。

相关问题