已弃用的方法是否由最新的 API 执行?
Does deprecated methods are executed by the lastest API?
我在做一个至少在 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 (min 19, max 23) ?
谢谢
在底层函数中,检查构建版本,return如果版本是M或更高版本
我在做一个至少在 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 (min 19, max 23) ?
谢谢
在底层函数中,检查构建版本,return如果版本是M或更高版本