I am using WebViewClient.shouldOverrideUrlLoading to catch any link clicks in the WebView. This works about 95% of the time, but sometimes it is simply not called.
I have noticed it in these three circumstances:
shouldOverrideUrlLoading
.Now my question is mostly how to fix problem 2, since the others are less of a big deal. However, if someone has solved either 1 or 3 I would love to hear about it.
Also, I should mention that I have tried different return values in shouldOverrideUrlLoading
and I have noticed that always returning true seems to have the best result, but the issues above still happen.
If the HTML is your own, you can replace all traditional links with calls to your own Java object, injected into the WebView
via addJavascriptInterface()
. Then you will no longer be reliant upon shouldOverrideUrlLoading()
.
Otherwise, perhaps try to prevent the user from interacting with the page until onPageFinished()
.
I have not run into this problem, but I have not made extensive use of WebView
with arbitrary content, either.