Webview和Chrome浏览器在后退键上表现不同

时间:2014-11-13 20:48:29

标签: android webview back

让我们说导航 site1.com site2.com/a.html然后它会自动重定向到site2.com/b.html。 如果你在应用程序的webview上按回按钮,它会尝试返回到site2.com/a.html,它会将你重定向到site2.com/b.html,这是不可取的。 如果您在Chrome浏览器上尝试此操作,请返回site1.com。

如何以编程方式实现?

1 个答案:

答案 0 :(得分:0)

您可以使用此答案的方法https://stackoverflow.com/a/6077173/2879783

如果我没错,你可以实施以下内容:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(event.getAction() == KeyEvent.ACTION_DOWN){
        switch(keyCode)
        {
        case KeyEvent.KEYCODE_BACK:
            String webUrl = myWebView.getUrl();
            if(webUrl.equals("site2.com/a.html")){
                myWebView.load("site1.com");
            }else{
                finish();
            }
            return true;
        }

    }
    return super.onKeyDown(keyCode, event);
}