我正在尝试打开 tel:&来自webview
的 mailto:链接,并收到以下消息:
Web Page Not Found tel:0000000000
唯一可行的链接是“http:”和“https”
任何人都可以帮助我吗?
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;
}
}
答案 0 :(得分:1)
不要调用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 :(得分:0)
尝试将 false 返回到tel:和mailto:if和else if branch。
这应该有用。