较低的SDK目标时调用较高的API

我的应用支持minSdkVersion = 10和目标16.如果特定设备支持,我想调用特定于API级别> = 14的方法。 我可以在运行时检查运行的OS版本以及是否调用更高级的API方法,但是当我指定min SDK版本时,仅存在于高于10的版本中的方法不可见。 有没有办法比minSdkVersion使用更高的API方法?

您可以使用以下方法测试设备的API:

if(android.os.Build.VERSION.SDK_INT >= 14) { // Do something fancy } else { // Do something regular } 

除了检查当前版本之外,还应该在方法中添加@SuppressLint("NewApi") ,以便编译器对此大喊大叫。

来自更高API的方法是不可见且不可访问的,因为项目的目标SDK低于将要使用的方法的SDK。 例如:如果你想使用API​​ 14中的方法Android项目目标SDK应该至少为14或甚至更好的最新(目前为16)。 这有点明显,但我错过了。 之后,Sam提供的解决方案正在使用中。