【发布时间】:2012-10-27 00:24:21
【问题描述】:
在运行 Android 2.3.5 的 HTC Evo 上,永远不会调用覆盖的 shouldOverrideUrlLoading()。完全相同的代码在运行 Android 2.3.6 的三星 Galaxy 上运行良好。
到目前为止,我已经尝试过覆盖 onPageStarted() 和 onPageFinished()。我在这些方法中看不到 URL。
我的目的是为页面中的mailto: 和tel: 链接提供自定义活动。如果shouldOverrideUrlLoading() 从未被击中,关于如何完成这项工作的任何想法?
我已经在 stackoverflow 和其他地方查看过类似的问题,但没有发现任何相关内容。
【问题讨论】:
-
[取自](stackoverflow.com/questions/9670136/…)。问题似乎是js函数setTimeout(fn,millis)。您已经编写了一个覆盖它的 js 函数,然后在您的 Android 代码中重新创建此函数的行为(使用 JavascriptInterface),因为它最适合您的应用程序。很多工作取决于您的应用程序功能,但它确实有效。这个想法是覆盖 setTimeout 然后从 android 代码中调用一个方法,该方法使线程在 js 中 setTimeout 的初始调用中休眠了多少毫秒。
-
感谢您的评论。我会试一试;但 Javascript 可能不是一个可接受的解决方案。我也在看stackoverflow.com/questions/5116909/…
标签: android webview overriding