result.getExtra() 不显示 mailto:

问题描述 投票:0回答:1

这是我在 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:
是一样的。

java android-studio android-webview logcat
1个回答
0
投票

似乎 Android 只是删除了

mailto:
,因此我无法检查它。

我最终使用

getType()
来检测这样的电子邮件地址:

    if (result.getType() == WebView.HitTestResult.EMAIL_TYPE) {
        // Do something
    }
© www.soinside.com 2019 - 2024. All rights reserved.