Использование android.os.Build.VERSION для использования библиотеки estimote
Я создаю приложение для Android, которое связано с маяками estimote. Мой проект должен использовать библиотеку estimote, и минимальный sdk этой библиотеки установлен на 18, поэтому минимальный sdk всего моего проекта должен быть 18. Но я хочу, чтобы мое приложение работало на минимальном sdk 14. Есть ли возможность установить мой проект min sdk до 14, а когда SDK старше 18 лет, чтобы отключить с помощью этой библиотеки?
РЕШЕНИЕ
Я должен использовать несколько apk, чтобы определить, какие устройства могут загружать версию с библиотекой estimote, а какие - более низкую версию API. Дополнительная информация: http://developer.android.com/google/play/publishing/multiple-apks.html
3 ответа
Вы можете сделать это с помощью этой проверки:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2){
// turn off that library here
}
Если вы хотите использовать свою библиотеку в своем приложении, проверьте версию ОС с помощью
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){
// use your library here
}
но не забывайте управлять предыдущим API:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){
// use your library here
}
else {
//do something else
}
Если вы не можете остановить библиотеку по каким-либо причинам, сделайте это.
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle instantanState) {
.
.
.
if(Build.VERSION.SDK_INT >= 18){
// start your library here.
}
}
Не забудьте добавить @SuppressLint("NewApi") перед функцией, в которой он вызывается, или вы можете отключить проверку ошибок lint для Android для новых функций Api.