android send email intent with chooser
class MailToExample{
private val url = "https://your_site_addres.xyz"
@SuppressLint("SetJavaScriptEnabled")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_mailto)
val settings: WebSettings = mWebView.settings
settings.javaScriptEnabled = true
settings.allowFileAccess = true
mWebView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, urlin: String?): Boolean {
if (urlin != null) {
if (urlin.contains("mailto:")) {
val emailIntent = Intent(Intent.ACTION_SENDTO, Uri.parse(urlin))
// or another way for email creation
// val mail = urlin.replace("mailto:", "")
// val emailIntent = Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", mail, null))
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject")
emailIntent.putExtra(Intent.EXTRA_TEXT, "body")
startActivity(Intent.createChooser(emailIntent, "Send email"))
} else {
view?.loadUrl(urlin)
}
}
return true
}
}
mWebView.postUrl(url)
}
}
// the case created by reading this resource examples for java
// https://stackoverflow.com/questions/8701634/send-email-intent/8701718#8701718