Ma vue Web charge une URL qui, une fois le chargement terminé, est remplacée par une autre URL. comment puis-je attraper la nouvelle URL. getURL()
renvoie toujours la 1ère URL et non la seconde. Je peux voir la nouvelle URL si j'utilise un navigateur mais je ne peux pas l'obtenir depuis la vue Web.
Vous pouvez utiliser un client Web et implémenter shouldOverrideUrlLoading pour intercepter toutes les URL avant que le WebView ne les charge.
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// Here put your code
Log.d("My Webview", url);
// return true; //Indicates WebView to NOT load the url;
return false; //Allow WebView to load url
}
});
Utilisation
getOriginalUrl ()
Il renvoie l'URL initialement demandée pour la page actuelle
getUrl ()
n'est pas toujours la même que l'URL transmise à WebViewClient.onPageStarted
car bien que le chargement de cette URL ait commencé, la page actuelle n'a peut-être pas changé.
getOriginalUrl ()
obtient l'URL d'origine de la page actuelle. Ce n'est pas toujours la même que l'URL transmise à WebViewClient.onPageStarted
Car bien que le chargement de cette URL ait commencé, la page en cours n'a peut-être pas changé. En outre, il peut y avoir eu des redirections entraînant une URL différente de celle initialement demandée.