Android Webview重定向问题解决方法
作者:鲁大先生 时间:2023-10-08 01:29:19
项目中需要webview重定向,但是由于一个webveiw里面有许多加载操作,因此在调用webview。goback()方法时,往往达不到我们需要的操作效果。
1.解决方法
WebBackForwardList webBackForwardList=webview.copyBackForwardList()获取webview加载栈,然后更具加载栈做逻辑操作
2.webBackForwardList常用的方法
int size = webBackForwardList.getSize()
webBackForwardList.getCurrentItem()
webBackForwardList.getCurrentIndex()
webBackForwardList.getItemAtIndex(index)
getsize()方法获取当前加载栈的长度;
getCurrentItem()获取当前webview所加载的界面,我们可以在这个方法下获得url,title等内容;
getCurrentIndex()获取当前加载在加载栈中的位置;
webBackForwardList.getItemAtIndex(index)获取加载栈中第index页面;
3.合理使用
在2中我们获取到加载页面的一些信息,然后可以根据当前url,标题,位置。来进行相应的处理。
4.Demo使用
现在我们有这样一个场景:打开一个activity,webview加载A界面,然后用户在A里面点击B,然后点击C,点击D。返回操作时我们需要从D跳到B,然后跳A.下面为代码:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (webView.canGoBack()) {
WebBackForwardList webBackForwardList = webView.copyBackForwardList();
if (webBackForwardList.getCurrentIndex() == 4) {//当前处于D界面
webView.loadUrl(webBackForwardList.getItemAtIndex(1).getUrl());//挑转到B界面
return true;
}
webView.goBack();
}
return true;
}
来源:https://www.jianshu.com/p/9def830afbb3
标签:Android,Webview,重定向
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#中Socket与Unity相结合示例代码
2022-09-15 23:24:15
详解Java实现批量压缩图片裁剪压缩多种尺寸缩略图一键批量上传图片
2022-12-07 15:56:04
![](https://img.aspxhome.com/file/2023/1/77151_0s.png)
SpringBoot基于Sentinel在服务上实现接口限流
2023-11-27 17:19:25
![](https://img.aspxhome.com/file/2023/4/59574_0s.jpg)
spring MVC实践需要注意的地方
2023-02-07 00:33:07
Maven 错误找不到符号的解决方法
2021-07-19 09:03:02
![](https://img.aspxhome.com/file/2023/7/62387_0s.png)
Flutter实现固定header底部滑动页效果示例
2022-06-15 06:31:05
android解析JSON数据
2022-10-17 04:55:40
Android仿微信语音消息的录制和播放功能
2022-08-15 09:28:32
![](https://img.aspxhome.com/file/2023/6/120156_0s.gif)
Spring及Mybatis整合占位符解析失败问题解决
2022-08-13 06:42:49
Java8通过Function获取字段名的步骤
2022-07-14 14:06:23
详解java模板和回调机制
2023-08-13 15:33:46
Java如何优雅替换if-else语句
2023-02-23 10:30:27
![](https://img.aspxhome.com/file/2023/8/71868_0s.jpg)
如何使用HttpClient发送java对象到服务器
2022-10-29 06:45:51
android横竖屏切换时候Activity的生命周期
2021-12-10 16:02:36
java + dom4j.jar提取xml文档内容
2023-11-29 03:55:10
C#生成漂亮验证码完整代码类
2022-06-17 14:03:33
spring-boot @Component和@Bean的区别详解
2023-06-28 16:10:36
Android中自定义控件的declare-styleable属性重用方案
2021-08-30 13:16:29
详解Java的MyBatis框架和Spring框架的整合运用
2022-09-19 19:22:20
Android使用Realm数据库实现App中的收藏功能(代码详解)
2022-11-01 02:00:45
![](https://img.aspxhome.com/file/2023/2/137582_0s.png)