I'm using WebView
but I have a weird problem. Let's say I loaded youtube.com using loadUrl(...)
, it's loading, but if I again load same page, it isn't loading correctly, not firing even onPageFinished(...)
Edit: When I load or any other site that interactive and has js stuff, it's not loading twice. EVEN if I create a new instance of WebView.
Load youtube.com -> OK
Load youtube.com again -> Error, onPageFinished not called, white page
Load google.com -> OK
GoBack -> Youtube.com loaded but still problematic. (Only header and a few views)
Manifest:
<application
android:allowBackup="true"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:configChanges="keyboard|keyboardHidden|screenSize"
android:largeHeap="true"
android:vmSafeMode="true"
android:hardwareAccelerated="true"
>
Here is webView settings:
mWebView.setDrawingCacheBackgroundColor(0x00000000);
mWebView.setFocusableInTouchMode(true);
mWebView.setFocusable(true);
//mWebView.setAnimationCacheEnabled(false);
mWebView.setDrawingCacheEnabled(false);
mWebView.setWillNotCacheDrawing(true);
//mWebView.setAlwaysDrawnWithCacheEnabled(false);
mWebView.setScrollbarFadingEnabled(true);
mWebView.setSaveEnabled(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setDisplayZoomControls(false);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setSaveFormData(PrefsManager.getInstance().isSaveAutoFill());
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setSupportMultipleWindows(true);
mWebView.getSettings().setLoadsImagesAutomatically(PrefsManager.getInstance().isAutoLoadImages());
mWebView.getSettings().setGeolocationEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setAllowContentAccess(true);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
mWebView.getSettings().setAllowContentAccess(true);
What can cause to this problem? WebView is the main functionality of my app and it was working like a charm until this error.
I am also using WebViewClient and WebChromeClient to override these methods.
onProgressChanged, onReceivedTitle, onCloseWindow, onCreateWindow, onGeolocationPermissionsShowPrompt, onConsoleMessage, onReceivedSslError, onPageFinished, onPageStarted, shouldOverrideUrlLoading