2

Hi I have to open a WebPage which has been created using HTML5 inside WebView.

According to my needs I have enabled all these setting in webView

    mWebView.getSettings().setPluginsEnabled(true);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    mWebView.getSettings().setSupportMultipleWindows(true);
    mWebView.getSettings().setSaveFormData(false);
    mWebView.getSettings().setSavePassword(false);
    mWebView.getSettings().setDomStorageEnabled(true);

    mWebView.getSettings().setAllowFileAccess(true);
    mWebView.getSettings().setLightTouchEnabled(true);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setBuiltInZoomControls(true);
    mWebView.getSettings().setUseWideViewPort(true);
    mWebView.getSettings().setLoadWithOverviewMode(true);

and also added

android:hardwareAccelerated="true"

inside Manifest.xml file

But problem is webpage is not loading properly inside WebView. UI is getting override. When I load WebPage inside default browser of device its loading fine but not inside WebView.

How can I enable HTML5 WebPage to load properly inside WebView.

Please help. thanks in advance

Neha Shukla
  • 3,572
  • 5
  • 38
  • 69

2 Answers2

0
mWebView.setWebViewClient(new Callback());  // call this in `onCreate()`



private class Callback extends WebViewClient
    {
        @Override

        public boolean shouldOverrideUrlLoading(WebView w, String s)
        {
            mWebView.loadData(URL, "text/html", "UTF-8");  // load the webview

            return true;
        }
    }
Aniruddha
  • 4,477
  • 2
  • 21
  • 39
0
            webview1.getSettings().setAppCacheMaxSize(5*1024*1024);
            webview1.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath());
            webview1.getSettings().setAllowFileAccess(true);
            webview1.getSettings().setAppCacheEnabled(true);
            webview1.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
            webview1.getSettings().setLoadWithOverviewMode(true);
            webview1.getSettings().setUseWideViewPort(true);
            webview1.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
            webview1.getSettings().setDomStorageEnabled(true);
            webview1.getSettings().setSaveFormData(true);
            webview1.getSettings().setBuiltInZoomControls(true);
            webview1.getSettings().setDisplayZoomControls(false);
            webview1.getSettings().setLoadWithOverviewMode(true);
            webview1.getSettings().setUseWideViewPort(true);
            webview1.getSettings().setLoadWithOverviewMode(true);
            webview1.getSettings().setUseWideViewPort(true);
            final WebSettings webSettings = webview1.getSettings();
            final String newUserAgent;
            newUserAgent = "Mozilla/5.0 (Android) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36";
            webSettings.setUserAgentString(newUserAgent);
            webview1.loadUrl("your url here");
  • Welcome to Stack Exchange and thanks for answering the question. It is customary upon the site to add some form of explanation along with a code dump. Perhaps highlight how your code resolves the question in contrast to what the Original Poster (OP) has done. – Carel Dec 01 '18 at 20:45