如何为文本设置超链接并通过电子邮件发送

Posted

技术标签:

【中文标题】如何为文本设置超链接并通过电子邮件发送【英文标题】:How to set hyperlink for text and send via email 【发布时间】:2018-05-20 07:16:39 【问题描述】:

我有以下文字,想通过电子邮件作为超链接发送。

String id1String = "XES";

String id2String = "ZX02";

String appLink = "myapp://myhost/myaction?id1=" + id1String + "&id2=" + id2String;

我使用了下面的代码,但没有工作。

    Intent emailIntent = new Intent(Intent.ACTION_SEND);
    emailIntent.setData(Uri.parse("mailto:"));
    emailIntent.setType("text/html");
    emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
    emailIntent.putExtra(Intent.EXTRA_CC, CC);
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(appLink));

    try 
        startActivity(Intent.createChooser(emailIntent, "Send mail..."));
        finish();
        Log.i("Finished send email...", "");
     catch (android.content.ActivityNotFoundException ex) 
        Toast.makeText(MainActivity.this, "There is no email client installed.", Toast.LENGTH_SHORT).show();
    

【问题讨论】:

使用 spannableString @Praveen :如果你能给我举个例子,那就太好了,因为我是第一次做这个代码。 你也可以在xml中试试这个google.com">Hyperlinkname]]> 试试这个链接***.com/questions/12004097/… @Joe :我已经尝试过该选项但无法正常工作。 【参考方案1】:

您可以在电子邮件意图中使用 html 文本作为正文。

 public void mailIntent() 
    String linkUrl = "www.***.com";
    String body = "<a href=\"" + linkUrl + "\">" + linkUrl+ "</a>";
    Intent emailIntent = new Intent(Intent.ACTION_SEND);
    emailIntent.setData(Uri.parse("mailto:"));
    emailIntent.setType("text/html");
    emailIntent.putExtra(Intent.EXTRA_EMAIL, "fdads");
    emailIntent.putExtra(Intent.EXTRA_CC, "");
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body));
    try 
        startActivity(Intent.createChooser(emailIntent, "Send mail..."));
        finish();
        Log.i("Finished send email...", "");
     catch (android.content.ActivityNotFoundException ex) 
        Toast.makeText(MainActivity.this, "There is no email client installed.", Toast.LENGTH_SHORT).show();
    

【讨论】:

不工作,请尝试以下链接:myapp://myhost/myaction?id1=" + id1String + "&id2=" + id2String 这必须是电子邮件应用程序的行为才能使 url 作为链接。虽然我现在不知道。

以上是关于如何为文本设置超链接并通过电子邮件发送的主要内容,如果未能解决你的问题,请参考以下文章

密码恢复不发送电子邮件。

如何为内部测试员重新发送 testflight 的邀请电子邮件?

如何为 Xcode 持续集成配置电子邮件设置

电子邮件格式基础(纯文本电子邮件中的链接)

Django如何为电子邮件激活链接生成自动激活密钥

什么是深层链接以及如何为 App Store 创建它?