Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓网络视图&x201C;电话:” ;&&引用;mailto:“;链接显示未找到的网页_Android_Http_Webview_Mailto_Tel - Fatal编程技术网

Android 安卓网络视图&x201C;电话:” ;&&引用;mailto:“;链接显示未找到的网页

Android 安卓网络视图&x201C;电话:” ;&&引用;mailto:“;链接显示未找到的网页,android,http,webview,mailto,tel,Android,Http,Webview,Mailto,Tel,我试图打开电话:和邮箱:链接,从webview,并收到以下消息: Web Page Not Found tel:0000000000 唯一有效的链接是“http:”和“https” 有人能帮我吗 private class HelloWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView webview, String url)

我试图打开电话:邮箱:链接,从
webview
,并收到以下消息:

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

}

尝试将false返回到tel:and mailto:if和else-if分支

这应该是可行的。

不要调用loadUrl(url)


嘿,罗伯特,这可能会帮到你:@Tim Messerschmidt我更新了代码,只有“http”链接在工作,有什么建议吗?你处理tel的意图:错误-它必须是这样的:Intent Intent=new Intent(Intent.ACTION_DIAL,Uri.parse(url));@Tim Messerschmidt不幸的是,即使此解决方案不起作用,如果处理意图,则必须返回true,否则返回false。
   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; 
  }