使用WebView控件时,H5页面跳转后返回键处理

最近项目中需要用到WebView加载H5页面,在H5页面内跳转后,按下返回键直接回退出了WebView所在的Activity,而不是返回H5页面的上一级,这与我们平时的使用习惯不一致,同时用户体验也不好。于是,研究了一下WebView的回退功能,发现可以通过复写Activity的onBackPressed()方法,调用WebView的goBack()方法实现我们想要的效果。

具体代码如下:
@Override
public void onBackPressed() {
if (webView.canGoBack()){
if(webView.getUrl().equals(webUrl)){
super.onBackPressed();
}else{
webView.goBack();
}
}else{
super.onBackPressed();
}
}

使用WebView控件时,H5页面跳转后返回键处理_第1张图片

代码说明:

1.webView即使用的WebView控件对象;
2.102行,判断webView控件是否可以回退,103行判断是否退到了初始webView加载的页面,webUrl为webView首次加载的Url;
3.106行是重点,执行webView的回退事件,替代Activity的back事件。

你可能感兴趣的:(Android)