Использование 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.

Другие вопросы по тегам