这是我在 Android Studio 中的项目中的 Java 代码:
webView.setOnLongClickListener(v -> {
WebView.HitTestResult result = webView.getHitTestResult();
Log.d("find_mailto", result.getExtra());
return true;
});
当我单击像
https://www.example.com
这样的链接时,我会在 Logcat 中看到完整的字符串,但是当我单击像 mailto:[email protected]
这样的链接电子邮件地址时,控制台仅显示 [email protected]
。由于某种原因,mailto:
丢失了。
为什么
result.getExtra()
不包括mailto:
?
如何检查按下的链接是否是链接的电子邮件? (我不想检查它是否包含
@
。)
顺便说一句:
tel:
是一样的。
似乎 Android 只是删除了
mailto:
,因此我无法检查它。
我最终使用
getType()
来检测这样的电子邮件地址:
if (result.getType() == WebView.HitTestResult.EMAIL_TYPE) {
// Do something
}