Как получить текущий URL страницы из веб-представления в android

Используя webview.loadUrl(url) я открываю URL-адрес. Если я нажму любую Button в представлении, она направится на другую страницу. Теперь я хочу получить URL-адрес страницы. Как я могу его получить?

Я также хочу, чтобы содержимое отображалось в веб-просмотре. Как получить содержимое WebView ?

Solutions Collecting From Web of "Как получить текущий URL страницы из веб-представления в android"

См. Мой ответ, возможно, это поможет вам … !!!!

 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); } }); 

Я предполагаю, что вы установили свой WebViewClient Если вы не можете сделать это, как WebViewClient ниже,

 webView.setWebViewClient(new MyWebViewClient()); String currentUrl; private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { currentUrl=url; return true; } } 

Здесь, когда вы нажимаете на любую ссылку в WebView она вызывает shouldOverrideUrlLoading() и вы можете получить текущий url в currentUrl .

 String webUrl = webView.getUrl(); 

Если вы имеете в виду контент – это источник страницы, вы можете получить его: https://stackoverflow.com/a/6503817/28557

Это самый простой способ обработки этого для API> 20: Существуют, очевидно, другие методы, в которых парсерам, таким как HTMLCleaner, требуется больше контроля. Тем не менее, это хорошо и просто для получения URL. Каждый раз, когда URL-адрес изменяется в Webview, URL-адрес в объекте запроса также изменяется.

 @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; } 

Вы также можете сделать свой вызов, переопределив метод webviewclient. Я хотел бы отметить это, так как это называется, когда страница заканчивает загрузку.