为了便于产品的开发,自己封装了一个含有WebView的BaseActivity, 在项目使用过程中遇到一个小问题:点击网页上的一个按钮,要弹出一个新activity来显示新网页,点返回就返回到上一个activity ,接着问题出现了,跳转后返回到前一个activity,发现这个activity里的webview无法响应js事件了。
尝试了很多种方法,比如在activity的onresume里调用webview的onresume等方法均无效,刷新网页也无效,重新设置webviewclient也不行。
最后经过一步步的调试,终于发现一个坑爹问题,在onDestory里调用了webview的pausetimer方法,会停止所有webview的js timers,就是说你的应用所有webview都不能再接收js事件了。
又由于旧activity的onresume方法比即将销毁的这个activity的ondestory要先调用,所以即使在onresume里调用resumetimer方法也没用,最后将pausetimer方法放到onPause里调用。
网友评论