“shouldOverrideUrlLoading”真的被弃用了吗?如果是这样,我可以使用什么呢?
看起来似乎已经弃用了针对Android N的shouldOverrideUrlLoading并且我需要使应用程序从API 19开始工作直到最新的Android N(测试版),我使用Android N中的一些新功能(如Data Saver),所以定位Marshmallow无法解决这个问题,因为我需要使用这些新功能,这是我使用的代码的一部分:
public boolean shouldOverrideUrlLoading(WebView webview, String url) {
if (url.startsWith("http:") || url.startsWith("https:")) {
...
} else if (url.startsWith("sms:")) {
...
}
...
}
这是Android Studio给我的消息:
Overrides deprecated method in ‘android.webkit.WebViewClient’
This inspection reports where deprecated code is used in the specified inspection scope.
Google says nothing about that deprecation.
我想知道使用@SuppressWarnings(“弃用”)是否会让我在API 19之后使用所有设备,直到最新的Android N Beta(以及它发布时的最终版本),我无法自己测试,我从未使用过我需要确定它是否有效,所以,任何人都能说出来?
解决方法:
The version I’m using I think is the good one, since is the exact same as the Android Developer Docs, except for the name of the string, they used “view” and I used “webview”, for the rest is the same
不它不是.
N Developer Preview的新功能具有以下方法签名:
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request)
所有Android版本(包括N)支持的版本都具有以下方法签名:
public boolean shouldOverrideUrlLoading(WebView view, String url)
So why should I do to make it work on all versions?
覆盖不推荐的那个,即将String作为第二个参数的那个.