WebView.canGoBack () is always false

I have a problem with Android Web View. When I override the shouldOverrideUrlLoading function in my class that extends WebViewClient, then WebView.canGoBack() always returns false .

Below is my code

 public class SMWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { view.loadUrl(request.getUrl().toString()); return true; } @Override public boolean shouldOverrideUrlLoading(WebView view, String uri) { view.loadUrl(uri); return true; } } 

And in my activity:

 @BindView(R.id.main_webview) SMWebView webView; @Override protected void onCreate(Bundle savedInstanceState) { ... webView.setWebViewClient(new SMWebViewClient(){ @Override public void onPageFinished(WebView view, String url){ } }); webView.clearCache(true); webView.clearHistory(); webView.loadUrl(Constant.baseUrl + Constant.homeUrl); } 

The problem is that the webView.canGoBack function (always in my activity) always returns false :

  @Override public void onBackPressed() { //ALWAYS FALSE if (webView.canGoBack()) { webView.goBack(); } } 

If I do not override shouldOverrideUrlLoading, then onBackPressed works as expected. What is wrong in my code?

thanks

[EDIT]: I also tried (without success) to create a webViewClient this way:

 ebView.setWebViewClient(new SMWebViewClient()); 
+5
source share
2 answers

There seems to be a problem with the current version of Chrome (63+). I downloaded Chrome Dev (65+), changed the default webview to Chrome Dev 65+, webview.canGoBack () works fine.

Here are some error messages: https://bugs.chromium.org/p/chromium/issues/detail?id=794020

Chrome Dev download URL: https://play.google.com/store/apps/details?id=com.chrome.dev

Change default web view: https://www.chromium.org/developers/androidwebview/android-webview-beta

It looks like we need to wait some time for the new stable Chrome update.

+7
source

Do not load the url every time in WebClient , it clears the past history of WebView , and also checks how you expanded WebView to your own SMWebView .

+2
source

Source: https://habr.com/ru/post/1274117/


All Articles