Android WebView回退
2024-08-29 22:31:36
在使用webView时,会出现点击按钮让网页页面回到上一个页面的需求,这时可以使用goBack方法。
但是有的安卓用户会习惯点击手机自带的返回按钮,这时会直接关闭当前的activity,而不是网页页面回退。这时可以使用webView.copyBackForwardList()获取WebBackForwardList,配合onKeyDown监听事件来解决这个问题。
/**
* 设置点击返回按钮,跳转到上一个html页面,而不是退出当前activity
* @param keyCode
* @param event
* @return
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if(webView.canGoBack()) {
//获取webView的浏览记录
WebBackForwardList mWebBackForwardList = webView.copyBackForwardList();
//这里的判断是为了让页面在有上一个页面的情况下,跳转到上一个html页面,而不是退出当前activity
if (mWebBackForwardList.getCurrentIndex() > ) {
String historyUrl = mWebBackForwardList.getItemAtIndex(mWebBackForwardList.getCurrentIndex() - ).getUrl();
if (!historyUrl.equals(url)) {
webView.goBack();
return true;
}
}
} else {
return true;
}
}
return super.onKeyDown(keyCode, event);
}
另外,
清理cache 和历史记录的方法:
webView.clearCache(true);
webView.clearHistory();
获取网页中携带的 Cookie
CookieManager cookieManager = CookieManager.getInstance();
String CookieStr = cookieManager.getCookie(url);
WebView 设置实现两个手指缩放网页:
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
最新文章
- git 常用指令
- springmvc 上传下载
- java web 中的servlet讲解
- [QTP/UFT12]无限延长试用期的方法
- MVC--View Razor(1)
- python语法笔记(六)
- 打印print
- Extjs 选择元素涉及方法总结
- Linq 调试
- Activiti 工作流得到最后一次批注的时间
- 《C语言深度解剖》面试题整理
- 手工配置Service的过程中。
- Linux下网卡BCM4313的安装
- IWorkSpace接口介绍 1.打开各种数据库
- 老李推荐:第8章6节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动Monkey 4
- 【BZOJ 2673】[Wf2011]Chips Challenge
- 请不要在广州.NET俱乐部群里谈郑智话题,谢谢!
- elasticsearch数据备份与sshfs建立共享文件
- css3 Box model 与 Box-sizing
- tidb在DDL语句方面的测试
热门文章
- 00--C++牛人的博客
- 深入理解 Swift 派发机制
- 用shell编写一个三角形图案
- lsync 负载实现代码双向同步
- swap空间可以有效缓解内存压力
- mysql修改时区的几种方法(转载自https://www.cnblogs.com/shiqiangqiang/p/8393662.html)
- 漫谈 Google 的 Native Client 技术(一)---- 历史动力篇(Web 本地计算发展史)
- PHP回顾之协程
- [转载]解决/usr/bin/ld: cannot find -lxxx
- SpringMVC-HandlerMapping和HandlerAdapter