我的应用支持minSdkVersion = 10并且定位16.如果特定设备支持,我想调用特定于API级别> = 14的方法。我可以在运行时检查运行的OS版本以及是否调用更高级的API方法但是当我指定min SDK版本时,仅存在于高于10的版本中的方法不可见。 有没有办法使用比minSdkVersion更高的API方法?
答案 0 :(得分:11)
您可以使用以下方法测试设备的API:
if(android.os.Build.VERSION.SDK_INT >= 14) {
// Do something fancy
}
else {
// Do something regular
}
答案 1 :(得分:6)
除了检查当前版本之外,您还应该在方法中添加@SuppressLint("NewApi")
,以便编译器对此大喊大叫。
答案 2 :(得分:3)
来自更高API的方法是不可见且无法访问的,因为项目的目标SDK低于将要使用的方法的SDK。例如:如果你想使用来自API 14的方法Android项目目标SDK应该至少为14或甚至更好的最新(目前为16)。这有点明显,但我错过了。之后,Sam提供的解决方案正在使用中。