简体   繁体   English

Android WebView“tel:”和“mailto:”链接显示未找到网页

[英]Android WebView “tel:” & “mailto:”links show web page not found

I am trying to open tel: & mailto: link from webview , and receive the following message: 我试图从webview打开tel:mailto: link,并收到以下消息:

Web Page Not Found tel:0000000000

The only link that works is "http:" and "https" 有效的唯一链接是“http:”和“https”

Can anyone help me? 谁能帮我?

     private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView webview, String url)
    {
        webview.loadUrl(url);
        return true;
    }
}

@Override
public boolean onKeyDown(int KeyCode, KeyEvent event)
{
    if ((KeyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack())
    {
        mWebView.goBack();
        return true;
    }
    return super.onKeyDown(KeyCode, event);
}

public boolean shouldOverrideUrlLoading(WebView webview, String url) {
    if (url.startsWith("tel:")) { 
            Intent intent = new Intent(Intent.ACTION_VIEW,
                    Uri.parse(url)); 
            startActivity(intent); 
    }else if(url.startsWith("http:") || url.startsWith("https:") || url.startsWith("mailto:")) {
        webview.loadUrl(url);
    }
    return false;
} 

} }

Do not call loadUrl(url); 不要调用loadUrl(url);

   public boolean shouldOverrideUrlLoading(WebView webView, String url) {

     if (url.startsWith("tel:")) {
        Intent intent = new Intent(Intent.ACTION_VIEW,
                Uri.parse(url));
        activity.startActivity(intent);
    }
    else{
        webView.loadUrl(url);
    }
        return true; 
  }

Try to return false to the tel: and mailto: if and else if branches. 尝试将false返回到tel:和mailto:if和else if branches。

This should work. 这应该工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM