Android:WebView goback()总是为重定向URL重新加载相同的页面

时间:2014-12-03 11:58:59

标签: android redirect webview

我已经实现了我自己的具有基本功能的自定义Web浏览器(带有后退,前进,刷新和停止按钮)。一切都工作得很好,但每当我加载重定向网址时它就会中断,并尝试通过调用'webview.goBack()'返回。

让我们假设URL1重定向到URL2。因此,每当我尝试打开URL1时,webview会自动重定向到URL2。如果我通过调用'webview.goBack'尝试返回上一页,完全加载URL2后,webview将尝试加载URL1,再次重定向到URL2,然后我再次登陆同一页面。

这是我的代码: 'private WebViewClient mWebViewClient = new WebViewClient(){

    public void onPageStarted(WebView view, String url,
            android.graphics.Bitmap favicon) {
        Log.d(TAG, "onPageStarted");
    };

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

    public void onPageFinished(WebView view, String url) {
        Log.d(TAG, "onPageFinished");

    };
};'

任何帮助都将受到高度赞赏。谢谢!

2 个答案:

答案 0 :(得分:3)

试试这个:

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

答案 1 :(得分:0)

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);