我正在使用WebViewClient.shouldOverrideUrlLoading来捕获WebView中的任何链接点击。这大约有95%的时间都有效,但有时它根本就没有被调用。
我在这三种情况下都注意到了它:
shouldOverrideUrlLoading
。现在我的问题主要是如何解决问题2,因为其他问题不是很重要。但是,如果有人解决了1或3,我很乐意听到它。
另外,我应该提一下,我在shouldOverrideUrlLoading
尝试了不同的返回值,我注意到总是返回true似乎有最好的结果,但上面的问题仍然会发生。
答案 0 :(得分:7)
如果HTML是您自己的HTML,您可以通过调用自己的Java对象替换所有传统链接,并通过WebView
注入addJavascriptInterface()
。那么你将不再依赖shouldOverrideUrlLoading()
。
否则,可能会尝试阻止用户与页面进行交互,直到onPageFinished()
。
我没有遇到过这个问题,但我也没有充分利用WebView
任意内容。
答案 1 :(得分:5)
在尝试使用修改window.location
的页面上的js更改网页时,我遇到了类似的问题。事实证明,修改url scheme / protocol会使webview捕获shouldOverrideUrlLoading
。我知道这不会对你有所帮助,因为你没有HTML,但我认为这会帮助其他任何偶然发现这个问题的人。