我正在编写一个Android应用程序,并且使用了一种名为 shouldOverrideUrlLoading(WebView视图,字符串url)的方法。问题是Android Developers网站说此方法在API级别24中已弃用,并已替换为 shouldOverrideUrlLoading(WebView,WebResourceRequest)。第二个参数在新的API中已更改,因此,如果我使用新的方法,它将无法在旧的API中使用。另一方面,如果我使用的是旧版本,则无法在较新的API中使用。
这只是一个示例,但是在相同情况下还有其他几种方法。那么如何使该应用程序在所有API中都能正常工作?
答案 0 :(得分:1)
一种选择是检查当前设备的SDK级别,然后相应地选择方法。可通过 android.os.Build.VERSION.SDK_INT 获得SDK级别。
因此,在您的代码中,您可以执行以下操作:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N)
{
//Use the new method
}
else
{
//Use the deprecated method
}
请注意, android.os.Build.VERSION_CODES.N 中的 N 适用于“牛轧糖”,它是与API级别24和25(请参见here和here)。