Reputation: 449
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
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
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