【问题标题】:Email Intent Value Not Set 'TO' : address电子邮件意图值未设置为“TO”:地址
【发布时间】: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提供电子邮件地址,但其他应用的操作取决于其他应用的开发者。

标签: android android-studio email android-intent


【解决方案1】:
val mailIntent = Intent(Intent.ACTION_SEND)

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

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

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()
            }
        }

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

【讨论】:

  • 我想将我的电子邮件地址放入地址,但我的代码是从地址输入的,这是我的问题
  • 好的,谢谢您的回复@Karmveer Singh
  • 它有效。感谢您的快速回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-14
  • 2017-06-13
  • 2019-10-01
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
相关资源
最近更新 更多