如何从点击号码的 webviewclient 打开 Dialer Activity?

How to open Dialer Activity from a webviewclient with clicked number?

我正在我的应用程序中实现 Web 视图。现在,当用户点击 phone 号码时,它会显示 net::ERR_UNKNOWN_URL_SCHEME。但是如果我使用 chrome。它为拨号器应用程序带来了 phone 号码。

我的申请中需要完全相同的东西。当在网络视图中单击 phone 号码时,需要使用该 phone 号码打开拨号器。

这是我的 shouldOverrideUrlLoading 网络视图方法。我可以看到有答案 here. 但我对 android 和 java 还很陌生,直到现在我还不能让它工作。

 public boolean shouldOverrideUrlLoading(WebView view, String url){
        progressBar.setVisibility(view.VISIBLE);
        view.loadUrl(url);
        return true;
   }

这一定有效。我们需要覆盖 webview class 的 shouldOverrideUrlLoading 方法。并检查 url 是否包含 tel:xxxx 然后为拨号程序创建一个意图并调用拨号程序。如果它是 mailto: link

,我们可以调用任何我们想要的应用程序,例如 gmail 应用程序

这是方法。

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
   if(url.contains("tel:")) {
        Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse(url));
        startActivity(intent);
        return true;
   } else {
        progressBar.setVisibility(view.VISIBLE);
        view.loadUrl(url);
        return true;
   }
}