电子邮件意图值未设置为“TO”:地址

Posted

技术标签:

【中文标题】电子邮件意图值未设置为“TO”:地址【英文标题】:Email Intent Value Not Set 'TO' : address 【发布时间】:2021-08-04 10:25:53 【问题描述】:

我试图将我的电子邮件添加到“收件人”地址,但它是从地址输入的。如何将我的电子邮件添加到“收件人”地址 在 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"))

`

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

【问题讨论】:

请注意,响应ACTION_SEND 的应用不需要使用EXTRA_EMAIL 或以其他方式让您预先填充“收件人”字段。您可以通过EXTRA_EMAIL提供电子邮件地址,但其他应用的操作取决于其他应用的开发者。 【参考方案1】:
val mailIntent = Intent(Intent.ACTION_SEND)

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

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

https://***.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()
            
        

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

【讨论】:

我想将我的电子邮件地址放入地址,但我的代码是从地址输入的,这是我的问题 好的,谢谢您的回复@Karmveer Singh 它有效。感谢您的快速回复。

以上是关于电子邮件意图值未设置为“TO”:地址的主要内容,如果未能解决你的问题,请参考以下文章

电子邮件值未定义

如何正确实现电子邮件意图

发送电子邮件意图选择器

Android é 在电子邮件意图中显示为黑色菱形

从联系人选择器意图中选择电子邮件、姓名和电话号码

如何解决android电子邮件意图问题?