如何从Web View获取当前URL并将其保存为字符串

时间:2017-04-25 16:53:25

标签: java android video youtube android-webview

我已经编写了Web View的简单代码,并在Web视图中打开了YouTube URL。当我打开我的应用程序时,YouTube主页已打开,当我从YouTube主页选择任何视频时,我想将当前URL从Web视图保存到任何字符串。每当我更改视频时,我想将视频URL保存为字符串,并希望将URL覆盖为字符串。

这是我的代码:

webView.setWebViewClient(new OurViewClient());// class which i have mention below
        try {
            webView.loadUrl("http://www.youtube.com");
        }catch (Exception e){
            e.printStackTrace();
        }

    }

OurViewClient类代码:

@Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
       view.loadUrl(url);
        return true;
    }

我想保存从YouTube中选择视频时上面传递的网址。当视频更改时,网址链接也会更改为字符串
任何人都可以帮我这个

3 个答案:

答案 0 :(得分:1)

@Override
public void onLoadResource(WebView view, String url) {
    super.onLoadResource(view, url);
    string urldata=view.getURL();
}

答案 1 :(得分:0)

也许我没有正确理解您的问题,但听起来您希望保存每次网址更改时url加载的OurViewClient参数,对吗?我想你可以用以下方法做到这一点:

public class OurWebViewClient extends WebViewClient {
  private String currentUrl;

  // ... Existing code ...

  @Override
  public void onLoadResource(WebView view, String url) {
    super.onLoadResource(view, url);
    this.currentUrl = url;
  }


  // Since the variable is private, we provide an accessor
  public String getUrl() {
    return this.currentUrl;
  }
}

这几乎是直接来自the WebViewClient docs,你可以覆盖许多其他的观察者方法。

答案 2 :(得分:0)

private void startWebView(String url)
{
        webview.loadUrl(url);

webview.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            url_.setText(view.getUrl());//here you get url
        }
    });
}