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