En utilisant la méthode webview.loadUrl(url)
j'ouvre une URL. Si je clique sur Button
dans la vue, il dirige vers une autre page. Maintenant, je veux obtenir l'url de la page dirigée. comment puis-je l'avoir?
Je souhaite également que le contenu soit affiché sur la vue Web. Comment obtenir le contenu du WebView
?
s'il vous plaît voir ma réponse que cela vous aide ... !!!!
WebView webview = new WebView(context);
webview.setWebViewClient(new WebViewClient()
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Log.d("WebView", "your current url when webpage loading.." + url);
}
@Override
public void onPageFinished(WebView view, String url) {
Log.d("WebView", "your current url when webpage loading.. finish" + url);
super.onPageFinished(view, url);
}
@Override
public void onLoadResource(WebView view, String url) {
// TODO Auto-generated method stub
super.onLoadResource(view, url);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out.println("when you click on any interlink on webview that time you got url :-" + url);
return super.shouldOverrideUrlLoading(view, url);
}
});
String webUrl = webView.getUrl();
Si vous voulez dire que le contenu est une source de page, vous pouvez le consulter: https://stackoverflow.com/a/6503817/28557
Je suppose que vous avez défini votre WebViewClient
. Sinon, vous pouvez faire comme ci-dessous,
webView.setWebViewClient(new MyWebViewClient());
String currentUrl;
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
currentUrl=url;
return true;
}
}
Ici, lorsque vous cliquez sur un lien sur WebView
, il appellera shouldOverrideUrlLoading()
et vous pourrez y trouver l'url actuelle dans currentUrl
.
c'est la façon la plus simple de gérer cela pour API> 20: Il existe évidemment d'autres méthodes avec des analyseurs comme HTMLCleaner pour avoir plus de contrôle. Cependant, c'est bon et simple pour obtenir l'URL. Chaque fois que l'URL change dans Webview, l'URL dans l'objet de demande change également.
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
String temp = request.getUrl().toString();
if(temp.isEmpty()){
Log.i(ActivityName, "No url returned!");
}else{
Log.i(ActivityName, temp);
}
return false;
}
vous pouvez également passer votre appel en remplaçant la méthode onpagefinished de webviewclient. Je voulais noter cela, car cela s'appelle lorsque le chargement de la page est terminé.