首页 > 解决方案 > Android 网页视图无法打开此网站

问题描述

我搜索了六天的解决方案 - 包括所有 stackoverflow 帖子,但无法解决。

我的 web 视图可以打开 Google 和 Facebook 等网站,但无法在代码中打开该网站!。我有一个空白页...

这是我的完整代码

 webView = findViewById(R.id.wv_pray_time);
        webView.setWebChromeClient(new WebChromeClient());
        webView.loadUrl("http://ramadanco.noursal.com/");
        webView.setBackgroundColor(Color.TRANSPARENT);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setBuiltInZoomControls(true);
        webSettings.setDomStorageEnabled(true);
        webSettings.setDisplayZoomControls(false);

        // No net error
        webView.setWebViewClient(new WebViewClient() {
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                webView.loadUrl("file:///android_asset/error.html");
            }
        });

        // Pull to refresh
        mySwipeRefreshLayout = this.findViewById(R.id.swipeContainer);
        mySwipeRefreshLayout.setOnRefreshListener(
                new SwipeRefreshLayout.OnRefreshListener() {
                    @Override
                    public void onRefresh() {
                        webView.reload();
                        if (mySwipeRefreshLayout.isRefreshing()) {
                            mySwipeRefreshLayout.setRefreshing(false);
                        }
                    }
                }
        );

    }

    @Override
    public void onBackPressed() {
        if (webView.canGoBack()) {
            webView.goBack();
        } else {
            super.onBackPressed();
        }
    }

任何人都可以在 webview 中打开这个网站吗?

标签: androidwebview

解决方案


我会推荐以下几点 -

  1. 首先使用 https:// 而不是 http://。
  2. 您在加载内容时可能会遇到 SSL 错误,因此您可以通过这种方式使用它。

    @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            // ignore ssl error
            if (handler != null){
                handler.proceed();
            } else {
                super.onReceivedSslError(view, null, error);
            }
        }
    
  3. 检查您是否已添加互联网权限

    <uses-permission android:name="android.permission.INTERNET"/>
    

推荐阅读