首页 > 解决方案 > 直接从应用程序发送电子邮件,无需打开选择器 (Kotlin)

问题描述

我需要能够将用户数据从我的应用程序直接发送到电子邮件,而无需打开应用程序选择器。基本上。我需要用户能够授予发送电子邮件的权限(与他们必须授予发送 SMS 权限的方式相同),然后每次他们将数据添加到各个字段并单击提交按钮时,它都会发送将其条目的内容发送到指定的电子邮件地址。createChooser 我假设正在调用应用程序选择器,但我无法弄清楚没有它我该怎么做?现有示例代码如下。我在任何地方都找不到直接的答案,非常感谢任何帮助。

     val gasb: Button = findViewById<Button>(R.id.gasb)
     gasb.setOnClickListener {
     val data:String = "1 GAS BOTTLE USED "
     startActivity(Intent.createChooser(getEmailIntent("firstname.surname@email.com", "SUBJECT", 
    data), 
    "Send mail"))
    }

    }

    //The below works - Just need to work out how to send without opening email client
    private fun getEmailIntent(email: String, subject: String?, content: String?): Intent? {
    val intent = Intent(Intent.ACTION_SEND)
    intent.type = "message/rfc822"
    intent.putExtra(Intent.EXTRA_EMAIL, arrayOf(email))
    intent.putExtra(Intent.EXTRA_SUBJECT, subject)
    intent.putExtra(Intent.EXTRA_TEXT, content)
    return getIntent(intent, true)
    }
    private fun getIntent(intent: Intent, isNewTask: Boolean): Intent? {
    return if (isNewTask) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) else intent

    }
    }
    

标签: emailkotlinandroid-intent

解决方案


推荐阅读