Ответ 1
Точнее, мой MinSDK - 7 (Android 2.1), TargetSDK - 8 (Android 2.2), и мне нужно проверить, работает ли HoneyComb Android 3.0 или выше. В зависимости от этого, как я могу назвать этот метод HoneyComb?
Шаг №1: Установите цель сборки на самый высокий уровень API, который вы хотите вызвать напрямую и, следовательно, скомпилируйте. Ваша цель сборки (например, compileSdkVersion
в Android Studio, Project > Properties > Android в Eclipse) не связана с вашим android:targetSdkVersion
.
Шаг №2: Как указывали другие ответы, вы можете условно вызывать методы в защитном блоке:
if (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.HONEYCOMB) {
// call something for API Level 11+
}
Вторая часть вопроса возникает, потому что просто вызов метода HoneyComb не будет компилироваться, поскольку я создаю против 2.2.
Вам нужно изменить цель сборки как уровень API 11 или выше, если вы хотите напрямую вызвать методы уровня API 11 или выше.