如何在TextView上使用预定义的主题和正文使XML字符串资源电子邮件可点击



Namaste🙏对所有人,

我正在尝试实现一个解决方案,在点击包含HTML标记的字符串XML中的电子邮件id时,我们应该打开系统中可用的电子邮件应用程序的意向选择器,然后在电子邮件撰写屏幕中mailTosubject&应填充正文

to - recipient@xyz.com
subject - xyz....
body - xyz.....
尝试过使用android:autoLink="email"属性,它使电子邮件可以点击,但它只预先填充收件人的电子邮件id,而没有其他内容。

是否有其他方法可以在不使用第三方库的情况下实现所需的解决方案?

您必须添加如下链接:

mailto:recipient@xyz.com?subject=xyz subject&body=xyz body

此链接将打开Intent for Mail应用程序,并包含一个预填充主题和正文。(参考:https://css-tricks.com/snippets/html/mailto-links/(

你可以有一个字符串如下:

<string name="link_str"><a href="mailto:recipient@xyz.com?subject=xyz subject&body=xyz body">Send email</a>  </string>

然后按照中的指定使TextView可链接https://stackoverflow.com/a/49694038/5309486

Namaste🙏对所有人,

以下是工作解决方案,不使用android:autoLink="email"属性。

strings.xml

<string name="str_email_included">Mail us at - &lt;br/> &lt;a href='mailto:hello@xyz.com?subject=Subject1&amp;body=Body1'>hello@xyz.com&lt;/a></string>

Java

textView.setText(Html.fromHtml(getString(R.string.str_email_included)));
textView.setMovementMethod(LinkMovementMethod.getInstance());

Kotlin

textView.text = HtmlCompat.fromHtml(getString(R.string.str_email_included), HtmlCompat.FROM_HTML_MODE_LEGACY)
textView.movementMethod = LinkMovementMethod.getInstance()

上面的movementMethod完成了这项工作,所以点击电子邮件id,意向选择器将打开,mailTo,subject&身体根据需要进行预填充。

最新更新