Android 如何更改Web视图中的URL加载?

Android 如何更改Web视图中的URL加载?,android,webview,webviewclient,Android,Webview,Webviewclient,基本思想是改变webview中加载的每个url(例如添加/删除get参数) 我有一个自定义的WebViewClient,其中我有以下方法: public boolean shouldOverrideUrlLoading(WebView view, String url) { String modifiedUrl = Util.someMethod(url); super.shouldOverrideUrlLoading(view, modifiedUrl); } 它会起作用吗?

基本思想是改变webview中加载的每个url(例如添加/删除get参数)

我有一个自定义的
WebViewClient
,其中我有以下方法:

public boolean shouldOverrideUrlLoading(WebView view, String url) {
    String modifiedUrl = Util.someMethod(url);
    super.shouldOverrideUrlLoading(view, modifiedUrl);
}

它会起作用吗?或者我应该将此逻辑放在另一种方法中,例如
onPagestarted

您应该执行以下操作:

public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if(conditionForModifyingUrl){
        String modifiedUrl = Util.someMethod(url);
        view.loadUrl(modifiedUrl);
        return true;
    }
    return false;
}

调用
super.shouldOverrideUrlLoading(view,modifiedUrl)
将不起作用,因为它是它的名字,这个方法只检查url是否应该被覆盖,而根本不加载url。

我也想到了这个方法,但是完全停止并重新启动url加载(数据丢失等)是否有风险,但请考虑,加载URL将调用SubdoReDeLoLoLoad。因此,请确保有一个正确的条件,以避免出现无限循环(最后应返回false)