Android:WebView goback()始终为重定向URL重新加载同一页面

Android:WebView goback()始终为重定向URL重新加载同一页面,android,redirect,webview,Android,Redirect,Webview,我已经实现了自己的自定义web浏览器,具有基本功能(后退、前进、刷新和停止按钮)。一切都非常正常,但每当我在其中加载重定向url并试图通过调用“webview.goBack()”返回时,它就会中断 让我们假设URL1重定向到URL2。因此,每当我尝试打开URL1时,webview都会自动重定向到URL2。在完全加载URL2后,如果我试图通过调用“webview.goBack”返回上一页,webview将尝试加载URL1,它再次重定向到URL2,并且我再次登录到同一页 这是我的密码: '私有Web

我已经实现了自己的自定义web浏览器,具有基本功能(后退、前进、刷新和停止按钮)。一切都非常正常,但每当我在其中加载重定向url并试图通过调用“webview.goBack()”返回时,它就会中断

让我们假设URL1重定向到URL2。因此,每当我尝试打开URL1时,webview都会自动重定向到URL2。在完全加载URL2后,如果我试图通过调用“webview.goBack”返回上一页,webview将尝试加载URL1,它再次重定向到URL2,并且我再次登录到同一页

这是我的密码: '私有WebViewClient mWebViewClient=新WebViewClient(){

任何帮助都将不胜感激。谢谢!

试试以下方法:

 public boolean shouldOverrideUrlLoading(WebView view, String url) {
            Log.d(TAG, "shouldOverrideUrlLoading");
            return false;
    };

那么,您希望通过单击URL2返回到哪里呢?我想URL 1是对的?那么您还期望什么呢?此URL1自动将用户重定向到URL2,以便按预期工作。您移动到URL2表示您的URL1已加载。您不能停在那里,即使是在桌面浏览器上。我想您没有遇到我的问题。请参阅I've没有直接加载URL2,它是由于URL1中的重定向而加载的。因此,当我在webview上说返回时,它应该将我带到我加载URL1(以及间接加载URL2)的上一页。@commonware有什么建议吗?
onBackPressed()
,如果当前URL是此“重定向URL”
,则您可以加载
URL 0`ie,即您在按下后所期望的URL。到目前为止,这里唯一可能的黑客攻击。
 public boolean shouldOverrideUrlLoading(WebView view, String url) {
            Log.d(TAG, "shouldOverrideUrlLoading");
            return false;
    };
webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);

webView.getSettings().setUserAgentString(
"Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) 
AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 
Chrome/43.0.2357.65 Mobile Safari/537.36"
);

webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);

webView.setWebViewClient(new WebViewClient() {
                public void onReceivedError(WebView view, int errorCode, 
                String description, String failingUrl) {
                }});


webView.loadUrl(url);