Android WebView "tel:" & "mailto:" links indicate that the web page was not found

I am trying to open the tel: and mailto: link from webview and get the following message:

 Web Page Not Found tel:0000000000 

The only link that works is "http:" and "https"

Can anybody 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; } 

}

+4
source share
2 answers

Do not call 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; } 
+1
source

Try returning false to tel: and mailto: if and else if the branches.

That should work.

0
source

All Articles