Android WebView 内部的定时器失效,按 home 键切到后台之后再切回来,定时器就恢复了,请问如何解决?

 他w与他说 发布于 2022-11-05 02:36

具体表现就是我在 js 中调用:

setTimer(function () {console.log(111)}, 0);

是看不到打印的,远程调试发现回调函数根本就没有调用,但是等我按 home 键切换一下再切回来,回调函数会立即被调用。

我使用 webview 的方式就是在 xml 中添加一个 webview,然后注入一个 javascript interface。

而且我没有在任何地方调用 pauseTimers。

PS:这个问题我暂时解决了,就是在 onPageFinish 回调里 resumeTimers,但是这样其实是不合理的,因为这样会把后台的网页定时器也打开。而且问题的真正原因我没有找到。

1 个回答
  • 你的js调用时机是怎样的

    2022-11-09 08:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有