Referring to the API level 24+ only version of shouldOverrideUrlLoading, the documentation clearly states:
Note: Do not call WebView#loadUrl(String) with the request's URL and then return true. This unnecessarily cancels the current load and starts a new load with the same URL. The correct way to continue loading a given URL is to simply return false, without calling WebView#loadUrl(String).
However, in my app I have to perform some extra activities before loading the URL that could only be done in MyWebView#loadUrl(String) and so I do call MyWebView#loadUrl
from within MyWebViewClient#shouldOverrideUrlLoading
then return true;
.
This seems to work fine but I now have some doubts:
Does this warning about "the correct way to continue loading a given URL" mean that if I am not following it, this code could break
- in the future (as in "using undocumented internal API")
- or break now with some "unusual website"?
In what scenarios (e.g. frames, iframes, 301/302 redirects) this return true;
scheme could break proper URL loading?
from WebViewClient.shouldOverrideUrlLoading() documentation clarification
No comments:
Post a Comment