webview拦截跳转很多人都有用到,但是拦截后,在想返回的时候,界面会重定向。加入界面本来是要跳转到百度界面,但是被我拦截后,跳转到其他界面去了。当我点击返回键后,界面仍然会跳转到百度界面。这个时候,该怎么解决呢?
我这里采用伪回退的方法来避免重定向的产生。
什么是伪回退?根据需求,可以分为两种。
一种是,直接回到原生界面,关闭webview所在界面。
一种是,回到html的上级界面。
这两种情况实现起来,其实一样,都是在点击返回键后,再次进行拦截。过滤掉正常的回退界面。如果是第一种,直接将webview销毁,关闭activity。
第二种情况,就是在拦截后,指定跳转到上街界面,自己理清楚界面跳转情况。合理的拦截跳转。功能就容易实现。
从图上可以看出,被拦截的url在回退键点击后,多了个“#/” 断点一下,就知道怎么处理这个事件了。