有没有办法在Android中使用WebView自动链接网址和电话号码?

时间:2009-11-16 18:50:40

标签: android hyperlink webview

如果某个网页上有一个不是链接的网址或电话号码,则可以WebView识别该网页并自动将其转换为TextView之类的链接S'

使用TextView,您只需将android:autoLink设置为所需的设置:

<TextView
    android:autoLink="web|phone"
    ... />

但我找不到WebView的任何等效内容。

2 个答案:

答案 0 :(得分:34)

如果您要从String加载自己的(Web)内容,那么您可以执行以下操作:

final String content = "My email is: firstname@email.com ...";
Spannable sp = new SpannableString(content);
Linkify.addLinks(sp, Linkify.ALL);
final String html = "<body>" + Html.toHtml(sp) + "</body>";
myWebView.loadData(html, "text/html", "utf-8");

答案 1 :(得分:2)

我不知道通过更改设置可以使这项工作的任何方法,但解决方法是等到网页完成加载然后执行:

yourWebView.loadUrl("javascript:(function(){ /* code that creates links */ })()");

这会将javaScript注入已加载的网页。 这里有一个稍长的例子:http://lexandera.com/2009/01/injecting-javascript-into-a-webview/

如果您查看Greasemonkey的Linkify脚本源代码,可以找到用于创建链接的JavaScript源代码(如果您不熟悉它,它是Firefox的插件)。我相信它附带默认安装。