Hassan Munir
Hassan Munir

Reputation: 449

Webview content not showing

I am using webview to open following agreement page link

I am using following code to render this. I have tried with different kind of other webview properties as well.

PS this page is rendering successfully in all kind of browsers and in iOS Webview as well.

    webView.getSettings().setJavaScriptEnabled(true);

    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    webView.loadUrl(AppConstants.AGREEMENT_URL);

    webView.setWebViewClient(new WebViewClient(){
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            showProgressBar();
            webView.setVisibility(View.INVISIBLE);
        }

        @Override
        public void onPageCommitVisible(WebView view, String url) {
            super.onPageCommitVisible(view, url);
            hideProgressBar();
            webView.setVisibility(View.VISIBLE);

        }

        @Override
        public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error){
            //Your code to do

        }


    });

Upvotes: 2

Views: 2944

Answers (2)

Alessandro Verona
Alessandro Verona

Reputation: 1257

Try to implement onReceivedSslError in this manner and let me know

webView.setWebViewClient(new WebViewClient(){

    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
        handler.proceed();
    }
});

However I tried to implement that and works perfectly for me :(

    var webView = findViewById<WebView>(R.id.wvWebView);

    webView.getSettings().setJavaScriptEnabled(true);

    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    webView.loadUrl("http://ec2-35-177-120-23.eu-west-2.compute.amazonaws.com/page/agreement");

The WebView has match parent? Internet permissions are ok? Try to se a red background to the webview: can you see it?

Upvotes: 2

Tung Tran
Tung Tran

Reputation: 2955

You try this:

WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setAllowContentAccess(true);
settings.setDomStorageEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://ec2-35-177-120-23.eu-west-2.compute.amazonaws.com/page/agreement");

In manifest:

android:hardwareAccelerated="true"

Upvotes: 0

Related Questions