android – 如何处理API21中的shouldInterceptRequest参数更改?

前端之家收集整理的这篇文章主要介绍了android – 如何处理API21中的shouldInterceptRequest参数更改?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在API21中谷歌修改了shouldInterceptRequest方法来使用WebResourceRequest请求而不是String url.
有没有什么办法可以编写扩展WebViewClient并处理这两种方法的泛型类?
我的最低API版本是18.

谢谢
克里斯蒂安

解决方法

Google modified shouldInterceptRequest method to use WebResourceRequest request instead of String url

不,他们添加了第二个shouldInterceptRequest()方法.两者都在API Level 21中提供;字符串变体在API级别11上可用.虽然字符串1被标记为已弃用,但为了向后兼容,应该支持字符串变体很长一段时间.

Is there any way I could write a generic class extending WebViewClient and handle both methods?

appInterceptRequest()的WebResourceRequest版本的内置实现只是调用shouldInterceptRequest()的String实现:

public WebResourceResponse shouldInterceptRequest(WebView view,WebResourceRequest request) {
    return shouldInterceptRequest(view,request.getUrl().toString());
}

(从现在的the source code起)

所以,你有两个选择:

>如果您不需要WebResourceRequest,只需覆盖String版本,它将用于所有相关的API级别.>覆盖两者,知道WebResourceRequest将在API Level 21上使用,String版本将用于API级别11-20.

原文链接:https://www.f2er.com/android/316764.html

猜你在找的Android相关文章