【发布时间】:2017-05-19 10:49:05
【问题描述】:
上下文
在 Android SDK 23 中,onReceivedError(WebView view, int errorCode, String description, String failingUrl) 已被弃用并替换为 onReceivedError(WebView view, WebResourceRequest request, WebResourceError error)。但是根据documentation:
请注意,与已弃用的回调版本不同,新的 版本将被调用任何资源(iframe、图像等),而不仅仅是 主页
问题
我们有一个应用程序,其中在已弃用的 onReceivedError 方法中有一个代码来显示本机视图,而不是让用户在 WebView 中看到错误。
我们想用新方法替换已弃用的onReceivedError 方法。但我们不想显示任何资源的错误的原生视图,只显示主页。
问题
我们如何在新的onReceivedError 中识别错误不是来自主页?
PS 1:我们不希望有像 this 这样的解决方案来存储主 url 并根据失败的 url 检查它。
PS 2:如果解决方案是只使用已弃用的方法,那么新的 Android 版本仍会调用它的保证是什么?
【问题讨论】:
-
我不确定我的理解是否正确,
to store the main url and check it against the failing url.,你为什么不喜欢呢?主页面有变化吗? -
是的,它会随着用户浏览网站而改变
-
明白你的意思,认为主页就像一个网站的主页。您的应用还会针对棒棒糖之前的设备发布吗?
-
可能,但我们宁愿不走那条路。之前的 onReceivedError 有一个开箱即用的解决方案,我们想知道是否有一个开箱即用的替代机制
标签: android android-webview webviewclient