XWalkView / XWalkResourceClient 中未调用 shouldOverrideUrlLoading

shouldOverrideUrlLoading not being called in XWalkView / XWalkResourceClient

我试图跟踪我的用户在浏览器中点击了哪些链接,但不幸失败了:

我的代码:

browser = new XWalkView(getMainActivity());
browser.setResourceClient(new XWalkResourceClient(browser)
{
  @Override
  public boolean shouldOverrideUrlLoading(XWalkView view, String url)
  {
    log.i("juhu 1", url);
    return false;
  }
});

这只会调用我提供给它的 URL 的回调 (browser.load()),但不会调用用户随后在呈现的页面上单击的 URL 的回调。更糟糕的是,它并不一致:有时会调用回调,有时不会。

这是一个失败的例子:

<html>
  <body>
    <p><a href="#mylink">my link 1</a></p>
    <p><a href="mylink">my link 2</a></p>
  </body>
</html>

我用 XWalk 15.44.384.13(最新)和 14.43.343.24(几个版本)试过,都没有成功。

我到处寻找类似的方法,但资源客户端和 ui 客户端似乎都没有提供可行的方法。

至少从 XWalk 16.45.421.19 开始,这看起来已修复,并且按预期进行了调用。