搜索

首页  >  问答  >  正文

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

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

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

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

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

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

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

PHPzPHPz2772 天前776

全部回复(1)我来回复

  • 阿神

    阿神2017-04-17 17:10:51

    你的js调用时机是怎样的

    回复
    0
  • 取消回复