我致力于一个至少在API 19上运行的项目。
我使用的是WebView
但是,为了处理错误,我使用了WebViewClient
方法OnReceivedError
,您可以看到here,
有两种方法,一种是弃用的,另一种只适用于API 23.
我做了一些研究,我看到解决了这个代码的问题
@SuppressWarnings("deprecation")
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
}
@TargetApi(Build.VERSION_CODES.M)
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
onReceivedError(view, error.getErrorCode(), error.getDescription().toString(), request.getUrl().toString());
}
但是,我想知道在使用API 23的设备上,onReceivedError
是否会执行两次。如果是这种情况,无论API如何(最小19,最大23),我该怎么做才能执行一次代码?
由于
答案 0 :(得分:3)
在较低级别的功能中,检查构建版本并在版本为M或更高版本时立即返回。