Android WebView不应在API 19中调用OverrideUrlLoading

Android WebView不应在API 19中调用OverrideUrlLoading,android,webview,Android,Webview,我需要在应用程序加载的网页(通过WebView容器)中捕获格式错误的链接(不带“http://”),并将其正确格式化(添加“http://”),我通过覆盖 public boolean shouldOverrideUrlLoading(WebView view, String url). if(url.startsWith("/")){ url = "http://www.domain.com" + url; } 一切都很好,但我意识到在API 19中,它

我需要在应用程序加载的网页(通过
WebView
容器)中捕获格式错误的链接
(不带“http://”)
,并将其正确格式化
(添加“http://”)
,我通过覆盖

public boolean shouldOverrideUrlLoading(WebView  view, String  url).

    if(url.startsWith("/")){
        url = "http://www.domain.com" + url;
    }
一切都很好,但我意识到在API 19中,它无法根据调用
shouldOverrideUrlLoading
方法。
但他们并没有说调用哪个方法来决定它是有效的还是无效的url

解决方案,比如让页面中的所有web内容加载,查找并替换格式错误的链接,然后加载“新”页面,似乎只需很少的工作量

有人知道要覆盖什么方法(拦截网络视图中的点击)吗?

谷歌有一些关于KitKat中的
shouldOverrideUrlLoading()

新的WebView在请求资源和解析使用自定义URL方案的链接时应用了其他限制。对于 例如,如果您实现了诸如shouldOverrideUrlLoading()之类的回调 或shouldInterceptRequest(),则WebView仅为有效的 网址

如果您使用的是自定义URL方案或基本URL,请注意,您的应用程序接收到的这些回调调用较少,或者无法执行 在Android 4.4上加载资源,确保请求指定有效的 符合RFC 3986的URL

谷歌对KitKat中的
shouldOverrideUrlLoading()
有一些看法:

新的WebView在请求资源和解析使用自定义URL方案的链接时应用了其他限制。对于 例如,如果您实现了诸如shouldOverrideUrlLoading()之类的回调 或shouldInterceptRequest(),则WebView仅为有效的 网址

如果您使用的是自定义URL方案或基本URL,请注意,您的应用程序接收到的这些回调调用较少,或者无法执行 在Android 4.4上加载资源,确保请求指定有效的 符合RFC 3986的URL


谢谢@Wei,但是你提到的链接就是我在问题中提到的链接。这就是我提问的原因。我不控制网页的查看,因此我不直接控制链接的格式。这意味着我需要在格式不好的链接中点击,以便正确设置格式。我正在使用shouldOverrideUrlLoading()进行捕获,但在Android 4.4中,我不能这样做。我需要另一种方法。谢谢@Wei,但你提到的链接就是我在问题中提到的链接。这就是我提问的原因。我不控制网页的查看,因此我不直接控制链接的格式。这意味着我需要在格式不好的链接中点击,以便正确设置格式。我正在使用shouldOverrideUrlLoading()进行捕获,但在Android 4.4中,我不能这样做。我需要另一种方法。