如何开发支持多个API的android应用

时间:2018-08-18 16:51:05

标签: java android api

我正在编写一个Android应用程序,并且使用了一种名为 shouldOverrideUrlLoading(WebView视图,字符串url)的方法。问题是Android Developers网站说此方法在API级别24中已弃用,并已替换为 shouldOverrideUrlLoading(WebView,WebResourceRequest)。第二个参数在新的API中已更改,因此,如果我使用新的方法,它将无法在旧的API中使用。另一方面,如果我使用的是旧版本,则无法在较新的API中使用。

这只是一个示例,但是在相同情况下还有其他几种方法。那么如何使该应用程序在所有API中都能正常工作?

1 个答案:

答案 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(请参见herehere)。