Более высокие вызовы API при использовании меньшего SDK

Мое приложение поддерживает minSdkVersion = 10 и таргетинг 16. Я хочу вызывать методы, специфичные для уровня API >= 14, если определенное устройство поддерживает их. Я могу проверить версию операционной системы во время выполнения и методы вызова или не выше API, но когда я укажу минимальную версию SDK, методы, которые существуют только в версиях выше 10, не отображаются. Есть ли способ использовать более высокие API-методы, чем minSdkVersion?

Ответ 1

Методы более высокого API являются невидимыми и недоступными, поскольку SDK для целей проекта ниже SDK, какие методы будут использоваться. Например: если вы хотите использовать методы из API 14 Android, целевой целевой SDK должен быть не менее 14 или даже лучше последнего (в настоящее время 16). Это очевидно, но я пропустил это. После этого было найдено решение Сэма, ссылающееся на него.

Ответ 2

Вы можете проверить API-интерфейс устройства следующим образом:

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

Ответ 3

В дополнение к проверке текущей версии вы также должны добавить @SuppressLint("NewApi") к вашему методу, чтобы компилятор не захотел кричать об этом.