Ответ
Android 9.0 (Pie) — это стабильная версия с широкой поддержкой (более 85% устройств). Она включает важные фичи:
- Adaptive Battery — оптимизация энергопотребления
- BiometricPrompt — унифицированный API для биометрии
- Security patches — актуальные исправления
Пример использования BiometricPrompt:
val biometricPrompt = BiometricPrompt(activity, executor, object : BiometricPrompt.AuthenticationCallback() {
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
// Auth success
}
})
val promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle("Auth required")
.build()
biometricPrompt.authenticate(promptInfo)
Минимальная версия (minSdk) выбирается под аудиторию, но 9.0 — хороший баланс между функциональностью и покрытием.
Ответ 18+ 🔞
Слушай, вот реально интересная тема про Android 9.0, она же Pie. Это, можно сказать, уже классика, но какая ёпта стабильная! На ней до сих пор сидит овердохуища устройств — больше 85%, представляешь? Это ж не просто так.
Вот смотри, что там за фишки были, которые реально жизнь упростили. Во-первых, Adaptive Battery. Эта штука умная, она смотрит, какими приложениями ты редко пользуешься, и не даёт им нагло жрать батарею фоном. Просто берёт и ограничивает их, хитрая жопа. Батарея стала жить дольше, и это факт.
А во-вторых, главная вещь — BiometricPrompt. Раньше был пиздец: каждый производитель лепил свой API для отпечатка или распознавания лица. Один — так, другой — эдак. Доверия к этой системе было, блядь, ноль. А тут пришёл Google и сказал: «Хватит это терпеть!». Сделали единый, красивый API. Теперь пишешь один код, и он работает на всём — и на сканере отпечатка, и на Face ID. Красота же!
Вот, смотри, как это выглядит в коде, простой пример:
val biometricPrompt = BiometricPrompt(activity, executor, object : BiometricPrompt.AuthenticationCallback() {
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
// Ура, пользователь подтвердил личность
}
})
val promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle("Требуется авторизация")
.build()
biometricPrompt.authenticate(promptInfo)
Чисто, аккуратно, без костылей. И не надо думать, Samsung у тебя или Xiaomi.
Ну и конечно, Security patches — исправления безопасности приходили регулярно. Не то чтобы это всех спасало, но хоть какое-то спокойствие.
Теперь главный вопрос: какую минимальную версию (minSdk) ставить? Тут, чувак, надо смотреть на свою аудиторию. Если делаешь приложение для госучреждений, где сидят на древних кирпичах, то придется опускаться ниже. Но если цель — нормальный охват без головной боли, то Android 9.0 — это идеальный баланс. Функциональности уже дохуя, а покрытие аудитории всё ещё почти полное. Выбирая её, ты отрезаешь совсем уж древний хлам, но не теряешь полстраны пользователей. Мудрое решение, ядрёна вошь!