WebView shouldOverrideUrlLoading未在API 19中调用

时间:2014-04-11 08:30:57

标签: android webview

我需要在应用加载的网页(通过(without "http://")容器)中捕获格式错误的链接WebView并正确格式化(adding "http://")我通过覆盖

进行格式化
public boolean shouldOverrideUrlLoading(WebView  view, String  url).

    if(url.startsWith("/")){
        url = "http://www.domain.com" + url;
    }

一切都很好但我意识到在API 19中它无法根据to this guide调用shouldOverrideUrlLoading方法。
但是他们没有说出要调用哪种方法来决定它是有效还是无效的网址。

解决方案就是从页面中获取所有网页内容以加载,查找和替换格式错误的链接,然后加载" new"对于这么少的东西来说,页面似乎很费力。

有谁知道要覆盖哪种方法(拦截来自WebView的点击)?

1 个答案:

答案 0 :(得分:-1)

Google在KitKat中有一些关于shouldOverrideUrlLoading()的{​​{3}}:

  

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

     

如果您使用的是自定义网址方案或基本网址,请注意您的应用对这些回调的接听次数较少或未能   在Android 4.4上加载资源,确保请求指定有效   符合RFC 3986的URL。