11

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

4

3 回答 3

12

您可以使用以下命令测试设备的 API:

if(android.os.Build.VERSION.SDK_INT >= 14) {
    // Do something fancy
}
else {
    // Do something regular
}
于 2012-07-31T22:35:52.253 回答
6

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

于 2013-04-14T15:43:47.753 回答
3

来自更高 API 的方法是不可见和不可访问的,因为项目的目标 SDK 低于将要使用的方法的 SDK。例如:如果您想使用 API 14 中的方法,Android 项目目标 SDK 至少应为 14 甚至更好(当前为 16)。这很明显,但我错过了。之后,Sam 引用的解决方案正在使用中。

于 2012-08-02T19:10:04.973 回答