操作webview在开始加载之前获取的URL

时间:2013-05-14 09:32:39

标签: java android webview

我想将当前位置作为请求变量添加到webview中加载的URL中,这样我就可以在页面上使用此信息而无需重新加载或额外请求。

我有一个带有shouldOverrideUrlLoading的WebviewClient,但是当使用loadUrl传递请求时,它不会收到请求。我读过可以使用shouldInterceptRequest拦截请求的URL,但是我在API级别8并且实际上并不想仅为此更改它。

有没有办法在网页浏览加载之前操纵网址?

1 个答案:

答案 0 :(得分:1)

是的,在致电Url之前更改loadUrl。您可以创建一个修改Url的函数,并将其调用loadUrlshouldOverrideUrlLoading

public Url addLocationToUrl(Url url) {  
    Url newUrl = url;
    //do something with url
    return newUrl;
}   

loadUrl(addLocationToUrl(someUrl));

//and in your WebViewClient
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    mWebView.loadUrl(addLocationToUrl(someUrl));
    return true;
}