问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

WebView返回时停留在第一层界面,重复刷新此界面

发布网友 发布时间:2022-11-23 14:02

我来回答

1个回答

热心网友 时间:2024-11-23 17:15

WebView详细解析:
https://www.jianshu.com/p/b8526e6b7760

解决方法:

boolean canGoBack():用来确认WebView里是否还有可回退的历史记录。通常我们会在WebView里重写返回键的点击事件,通过该方法判断WebView里是否还有历史记录,若有则返回上一页。

@Override

override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {

if (interesWeb.canGoBack()) {

interesWeb.goBack();

return true;

}else {

finish();

}

return super.onKeyDown(keyCode, event);

}

此方法可以实现逐级返回上层webview界面,但是如果WebView的第一个界面只有在首次进入时显示的话,就会造成后续返回时,一直停留在当前界面无法退出这个Activity界面(我的使用场景如此)

onKeyDown方法还会造成一个问题,就是在webview界面的时候,如果当前这个界面需要播放音频,你通过音量键调节音量的时候,会导致界面后退。

替换方案:

override fun onBackPressed() {

if (interesWeb.canGoBackOrForward(-2)) {

interesWeb.goBack();

}else {

finish();

}

}

可以通过onBackPressed()来替代onKeyDown方法。canGoBackOrForward()替换canGoBack()方法。

boolean canGoBackOrForward(int steps):以当前的页面为起始点,用来确认WebView的历史记录是否足以后退或前进给定的步数,正数为前进,负数为后退。(详细解释可以看上面的链接: https://www.jianshu.com/p/b8526e6b7760 )

同时,在使用原生的webView进行页面加载时,需要注意相关属性的配置。

参考:

1、 Android WebView 详解

2、 WebView·开车指南

3、 Android WebView 常用API参考手册
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 在Activity生命周期过程中,调用方法顺序 Android中怎么在取消dialog后同时触发onBackPressed android studio中onbackpressed是什么意思 android 怎么在 fragment 监控 onbackpressed 安卓开发重写onBackPressed()方法不能处理对话框返回事件 htcm8手机上方出现星标是什么意思 山东大学信息学院可以保送到清华吗? 山东大学电子信息科学类是学什么的? 山西农业大学信息学院好不好?在山西怎么样?商务好还是这儿人好?_百 ... 山东大学电子信息学院积点3.8能排上名次吗 山大信息科学与工程学院哪个专业比较好? 山东大学信息科学与工程学院有哪些专业 山东大学信息科学与工程学院的介绍 走进大自然放松心情的句子 asp.net中如何在页面加载完成前将按钮置灰 13岁少女冬季突然脱发很严重是因为什么呢 ...但还是显示“此演示文稿被最新最新版本的 Microsoft Internet... 世界之尽头 这届世界杯的冠军会是谁 求!!梅西的详细资料,例如身价和效力球队.. 煮鱼时糖放多了,不够酸怎么办? 炖鲫鱼糖放多了怎么办 C#字符串变量线程安全吗 我梦想去一些外企大公司混个高管,你们说那我大学应该学啥专业? 15岁谈恋爱的软件叫什么? Lvemiz9什么意思? 一网一平台在电脑上怎么登录不上 威海的海是什么海 威海最深的海水有多深 三通、大小头、管帽的理论重量如何计算? 便携式计算机处于直流电模式不能开显卡 cf的生化决战模式会出什么新人物和新枪 金庸的小说里最悲情的一对是谁? 开马市的是毛文龙还是袁崇焕? 荣耀magic2内存升级 一部僵尸片,好像是去一个小岛,小岛上只要赵钱孙李的姓氏集合就会发生恐 ... ...我家狗儿生小狗了!总共有三只,麻烦大家给起个名字! 铁三角(audio-technica)CK6 音质怎么样 高手进 大智慧经典版v5.9怎样委托 大智慧5.9经典版怎么没有vol kdj 线图啊,表示不存在