首页 > 解决方案 > 电子邮件意图值未设置为“TO”:地址

问题描述

我试图将我的电子邮件添加到“收件人”地址,但它是从地址输入的。
如何在 Android Studio中将我的电子邮件添加到“收件人”地址

这是我的代码

` val btn: Button = findViewById(R.id.button)

    btn.setOnClickListener{
        val mailIntent = Intent(Intent.ACTION_SEND)
        mailIntent.type = "text/plain"
        mailIntent.putExtra(Intent.EXTRA_EMAIL,"ramanathank18@gmail.com")
        mailIntent.putExtra(Intent.EXTRA_SUBJECT,"")
        mailIntent.putExtra(Intent.EXTRA_TEXT,"")
        startActivity(Intent.createChooser(mailIntent, "Send Email"))

`

请帮助我如何解决这个问题

标签: androidandroid-studioemailandroid-intent

解决方案


val mailIntent = Intent(Intent.ACTION_SEND)

而不是使用Intent.ACTION_SEND,您可以使用Intent.ACTION_SENDTO 这将只为您列出电子邮件客户端。

此外,请参阅此答案以获得更清晰和更新的答案

https://stackoverflow.com/a/15022153/13597058

更新 :

send_mail.setOnClickListener {
            val i = Intent(Intent.ACTION_SEND)
            i.type = "message/rfc822"
            i.putExtra(Intent.EXTRA_EMAIL, arrayOf("recipient@example.com"))
            i.putExtra(Intent.EXTRA_SUBJECT, "subject of email")
            i.putExtra(Intent.EXTRA_TEXT, "body of email")
            try {
                startActivity(Intent.createChooser(i, "Send mail..."))
            } catch (ex: ActivityNotFoundException) {
                Toast.makeText(
                    this,
                    "There are no email clients installed.",
                    Toast.LENGTH_SHORT
                ).show()
            }
        }

这段代码解决了你的问题。

在此处输入图像描述


推荐阅读