0

在我的应用程序中,我有一个 webView,这个 webView 在具有多种操作系统的多个设备中完美运行,但它仅适用于 wifi 。如果我关闭 wifi 并打开移动数据,webView 不会加载任何内容。这是我用于 webview 的代码。

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
           webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        } else {
           webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setAllowContentAccess(true);
        webView.getSettings().setAllowFileAccess(true);
        webView.getSettings().setDatabaseEnabled(true);
        webView.getSettings().setDomStorageEnabled(true);
        webView.getSettings().setLoadWithOverviewMode(false);
        webView.getSettings().setUseWideViewPort(true);
        webView.setWebViewClient(new MyWebViewClient());
        webView.loadUrl(url); 
4

1 回答 1

2

这可能导致互联网问题或链接无效

尝试执行onReceivedError以查看加载 url 时是否发生任何错误

webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
    }

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
    }

    @SuppressWarnings("deprecation")
    @Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
        Log.e(TAG,errorCode + " : " + description + " at " + failingUrl);
    }
});
于 2017-05-23T09:12:35.457 回答