WebView.getUrl() returns null because page not done loading

onepiece picture onepiece · Dec 8, 2012 · Viewed 7.8k times · Source

I want to get the url of the webview. However, the method calls before the page is done loading so it always returns with null. Any way around this? Thanks.

WebView webView = new WebView(this);
setContentView(webView);

webView.loadUrl(myURL);

//page is not done loading yet
String url = webView.getUrl(); //returns null

Answer

Squonk picture Squonk · Dec 8, 2012

Try adding a WebViewClient and overriding the onPageFinished(...) method. I've never done it but something like this might work...

String theUrl;
WebView webView = new WebView(this);
setContentView(webView);

webview.setWebViewClient(new WebViewClient() {

    public void onPageFinished(WebView view, String url) {
        theUrl = url;
    }

});

webView.loadUrl(myURL);