Изменить minSDKVersion в зависимости от устройства

Я хочу опубликовать свое приложение для более чем одной версии Android. Вот почему я написал это в моем манифесте XML

<uses-sdk android:minSdkVersion="8" />

Мое приложение показывает TimePicker. TimePicker обычно выглядит по-другому в версии 4.0.3. Поскольку я выбираю версию 8 в качестве версии SDK по умолчанию, TimePicker выглядит как старая, даже тогда я запускаю приложение на устройстве 4.0.3.

Есть ли способ выбрать SDK версии 15, когда это приложение работает на устройстве 4.0.3?

1 ответ

Решение

Ваш apk компилируется только один раз, так что нет. Вместо этого вы должны установить в своем AndroidManifest.xml,

<uses-sdk android:minSdkVersion="8" 
    android:targetSdkVersion="15" />

и затем проверьте в своем коде (во время выполнения), что старые устройства не используют методы, предоставленные в новой платформе. Например,

int currentVersion = android.os.Build.VERSION.SDK_INT;  
if (currentVersion >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
    // It is safe to use the TimePicker.
} else{
    // Don't use the TimePicker (ClassNotFoundException will be thrown).
}
Другие вопросы по тегам