Биометрический
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
---|---|---|---|---|
20 мая 2025 г. | 1.1.0 | - | - | 1.4.0-альфа04 |
Объявление зависимостей
Чтобы добавить зависимость от Biometric, необходимо добавить репозиторий Google Maven в свой проект. Прочитайте репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для необходимых артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { // Java language implementation implementation "androidx.biometric:biometric:1.1.0" // Kotlin implementation "androidx.biometric:biometric-ktx:1.4.0-alpha02" }
Котлин
dependencies { // Java language implementation implementation("androidx.biometric:biometric:1.1.0") // Kotlin implementation("androidx.biometric:biometric:1.4.0-alpha02") }
Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 1.4
Версия 1.4.0-альфа04
20 мая 2025 г.
Выпущен androidx.biometric:biometric:1.4.0-alpha04
. Версия 1.4.0-alpha04 содержит эти коммиты .
Новые возможности
- Всегда используйте API
KeyguardManager
внутренне для приложений Wear ( I9b7fd )
Изменения API
- Добавить привилегированный бит аутентификатора
IDENTITY_CHECK
( I706bb )
Версия 1.4.0-альфа03
26 марта 2025 г.
Выпущен androidx.biometric:biometric:1.4.0-alpha03
. Версия 1.4.0-alpha03 содержит эти коммиты .
Новые возможности
- Введен новый API точки входа аутентификации
registerForAuthenticationResult()
для замены модуляandroidx.biometric:biometric-ktx
иandroidx.BiometricPrompt
. Этот новый API смоделирован по образцу API Activity Result и обеспечивает полную совместимость с разработкой на Kotlin и Java.
Изменения API
- Переименовать
ERROR_MORE_OPTIONS_BUTTON
вERROR_CONTENT_VIEW_MORE_OPTIONS_BUTTON
( I71d07 ) - Добавьте аннотацию
@Deprecated
дляIdentityCredential
, чтобы обеспечить соответствие фреймворку. ( I6ac90 , b/140252778 , b/217942278 , b/251211046 , b/239955609 ) - [1/3] Удалить biometric.auth и библиотеку kotlin, которые будут переработаны. ( I2f67c )
- [2/3] Добавьте
AuthenticationRequest
как вход аутентификации иAuthenticationResult
как тип результата аутентификации. Существует два видаAuthenticationRequest
с конструкторами. ( I50fd9 )-
BiometricRequest
для биометрической аутентификации с различнойStrength
и опциональнымFallback
. -
CredentialRequest
для аутентификации только по учетным данным устройства.
-
- [3/3] Добавить новые API activity-result-pattern для биометрического модуля. В частности, добавить API регистрации с именем
registerForAuthenticationResult()
, который регистрируетAuthenticationResultCallback
и необязательныйonAuthenticationFailedCallback
, и приводит кAuthenticationResultLauncher
для запуска аутентификации со всеми входными данными. ( I2b06e )
Исправление ошибок
- Эта библиотека теперь использует аннотации nullness JSpecify , которые являются type-use. Разработчики Kotlin должны использовать следующий аргумент компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict
(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( Ib49b4 , b/326456246 ) - Исправлена проблема невозможности создания экземпляра фрагмента
androidx.biometric.FingerprintDialogFragment
. ( I51c4a , b/181805603 ) - Исправлена ошибка, из-за которой
BiometricPrompt
не закрывался при нажатии кнопки «Домой» на устройстве. ( I8c393 , I0ca8c , b/149770989 ) - Исправлены несоответствия кодов ошибок при отключении биометрической аутентификации приложений в API 34/35. ( Ice99d , b/386918213 )
- Применяйте принудительное использование сильных биометрических данных на старых устройствах также и к комбинированным аутентификаторам. ( Ibb853 , I5cfb3 , b/257670132 )
Версия 1.4.0-альфа02
7 августа 2024 г.
Выпущены androidx.biometric:biometric:1.4.0-alpha02
и androidx.biometric:biometric-ktx:1.4.0-alpha02
. Версия 1.4.0-alpha02 содержит эти коммиты .
Новые возможности
-
PromptContentView
позволяет разработчикам отображать пользовательское представление содержимого как дополнительную опцию представления простого текстового описания. - Отображается логотип приложения в биометрическом запросе — он автоматически добавляется с помощью значка приложения.
Изменения API
- Добавьте API для поддержки пользовательского просмотра контента
-
BiometricPrompt.PromptInfo.Builder#setContentView
-
BiometricPrompt.PromptInfo#getContentView
- Интерфейс
PromptContentView
- Класс
PromptVerticalListContentView
- Класс
PromptContentViewWithMoreOptionsButton
(только для привилегированных приложений)
-
- Добавить API для поддержки логотипа (только для привилегированных приложений)
-
BiometricPrompt.PromptInfo.Builder#setLogoBitmap
-
BiometricPrompt.PromptInfo.Builder#setLogoRes
-
BiometricPrompt.PromptInfo.Builder#setLogoDescription
-
BiometricPrompt.PromptInfo#getLogoBitmap
-
BiometricPrompt.PromptInfo#getLogoRes
-
BiometricPrompt.PromptInfo#getLogoDescription
58c35c6
-
Исправление ошибок
- Обновите
compileSdk
до версии 35 5dc41be
Версия 1.4.0-альфа01
29 мая 2024 г.
Выпущены androidx.biometric:biometric:1.4.0-alpha01
и androidx.biometric:biometric-ktx:1.4.0-alpha01
. Эта версия разрабатывается во внутренней ветке и нацелена на Android 15 Beta 2.
Исправление ошибок
- Обновите пользовательский интерфейс для соответствия изменениям платформы в Android 15
Версия 1.2.0
Версия 1.2.0-альфа05
21 сентября 2022 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha05
и androidx.biometric:biometric-ktx:1.2.0-alpha05
. Версия 1.2.0-alpha05 содержит эти коммиты.
Изменения API
- Добавлена поддержка
CryptoObject
дляandroid.security.identity.PresentationSession
в Android 13. ( C5f1ec , b/197965513 )
Исправление ошибок
- Удалены ненужные варианты ресурсов для уменьшения размера библиотеки. ( I3601e , b/220178553 )
- Исправлена проблема с
BiometricPrompt
, размещенным в неактивных контекстах. ( Ife255 )
Версия 1.2.0-альфа04
17 ноября 2021 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha04
и androidx.biometric:biometric-ktx:1.2.0-alpha04
. Версия 1.2.0-alpha04 содержит эти коммиты.
Новые возможности
- Улучшена поддержка BiometricPrompt для фрагментов, размещенных в контекстах без активности ( I9312b )
Изменения API
- Добавлена поддержка API Android 12 BiometricManager.Strings ( I12f2d )
- Изменена совместимость цели и источника с Java 7 на Java 8 ( I16129 )
Исправление ошибок
- Исправлена проблема с API 29, когда некоторые устройства (включая эмуляторы) получали ошибку отмены при возврате к PIN/шаблону/паролю. Обратите внимание, что для некоторых устройств с API 29 это может привести к тому, что пользователю будет предложено разблокировать экран, даже если биометрические данные доступны и зарегистрированы. ( b/142740104 )
- Исправлена ошибка API 29, из-за которой устройства без биометрического оборудования некорректно возвращались к использованию PIN-кода/графического ключа/пароля ( b/170517889 ).
Версия 1.2.0-альфа03
24 февраля 2021 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha03
и androidx.biometric:biometric-ktx:1.2.0-alpha03
. Версия 1.2.0-alpha03 содержит эти коммиты.
Изменения API
- Добавлены расширения приостановки сопрограмм для CredentialAuthPrompt, аналогичные тем, которые существуют для других типов AuthPrompt. ( I9ac70 )
Версия 1.2.0-альфа02
27 января 2021 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha02
и androidx.biometric:biometric-ktx:1.2.0-alpha02
. Версия 1.2.0-alpha02 содержит эти коммиты.
Изменения API
- Реорганизованы некоторые поля
AuthPrompt
, которые ранее устанавливались через конструктор, в аргументы методаstartAuthentication(...)
. ( I18896 , b/174098373 ) - Добавлены минимальные требования к уровню API для типов
AuthPrompt
с ограниченной поддержкой или без нее в старых версиях Android. ( I18896 ) - Добавлены методы получения для всех полей
AuthPrompt
, которые задаются через конструктор. ( I18896 ) - Добавлены приостановка расширений сопрограмм Kotlin для биометрической аутентификации через API
AuthPrompt
. Эти функции будут возвращатьAuthenticationResult
непосредственно в случае успеха или выдавать исключение в случае ошибки или неудачи (отклонение учетных данных). ( Iffc9e )
Исправление ошибок
- Исправлена ошибка, из-за которой
BiometricManager.canAuthenticate(int)
иногда возвращал неправильный код состояния для устройства с датчиком отпечатков пальцев на Android 10 (уровень API 29). ( I72420 , b/176921662 ) - Исправлена ошибка, из-за которой
BiometricManager.canAuthenticate(int)
возвращал неправильный код состояния для устройства без биометрического оборудования и без зарегистрированного PIN-кода, шаблона или пароля на Android 10 (уровень API 29) и более ранних версиях SDK. ( I79b7d , b/174505824 ) - Исправлена утечка памяти, которая могла возникнуть, когда
BiometricPrompt
размещался во фрагменте с более коротким жизненным циклом, чем связанная с ним активность. ( I70864 , b/167014923 )
Версия 1.2.0-альфа01
2 декабря 2020 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha01
и androidx.biometric:biometric-ktx:1.2.0-alpha01
. Версия 1.2.0-alpha01 содержит эти коммиты.
Новые возможности
- Представлен модуль
androidx.biometric:biometric-ktx
, который добавляет API и расширения, специфичные для Kotlin, поверхandroidx.biometric:biometric
.
Изменения API
- Добавлены новые API
AuthPrompt
для созданияBiometricPrompt
и выполнения аутентификации. Эти API не требуют созданияBiometricPrompt
в обратном вызове раннего жизненного цикла, напримерonCreate
. ( I19022 ) - Добавлены расширения Kotlin для
Fragment
иFragmentActivity
для новых APIAuthPrompt
. ( Iaf98c )
Версия 1.1.0
Версия 1.1.0
27 января 2021 г.
Выпущен androidx.biometric:biometric:1.1.0
. Версия 1.1.0 содержит эти коммиты.
Основные изменения по сравнению с версией 1.0.0
- Добавлена обратно совместимая поддержка новых функций биометрической аутентификации и обновлений API, представленных в Android 11.
- Значительно уменьшен размер приложения, занимаемого библиотекой (в некоторых случаях более чем на 100 КБ).
- Устранены различные источники утечек памяти, которые ранее вызывала библиотека.
- Исправлены ошибки проверки классов, которые могли повлиять на производительность на старых версиях Android.
- Внесены различные дополнительные улучшения стабильности и поведения библиотеки.
Версия 1.1.0-rc01
11 ноября 2020 г.
Выпущен androidx.biometric:biometric:1.1.0-rc01
. Версия 1.1.0-rc01 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема на некоторых устройствах, когда определенные действия (аутентификация, отмена и т. д.) иногда вызывали исключение
NullPointerException
. ( b/151316421 ) - Исправлена ошибка, из-за которой некоторые устройства Pixel сообщали неправильный статус при использовании
BiometricManager#canAuthenticate(int)
для проверки биометрических данных класса 3 на Android 10. ( b/170406186 )
Версия 1.1.0-beta01
1 октября 2020 г.
Выпущен androidx.biometric:biometric:1.1.0-beta01
. Версия 1.1.0-beta01 содержит эти коммиты.
Новые возможности
- Значительно уменьшен размер APK-файла библиотеки (в некоторых случаях сжато более чем на 100 КБ) за счет замены диалоговых анимаций статическими ресурсами на Android 8.1 и более ранних версиях. ( I4844e )
-
BiometricPrompt
теперь автоматически возвращается к аутентификации учетных данных устройства (если разрешено) на всех поддерживаемых версиях Android, когда биометрическая аутентификация заблокирована. ( b/149579143 )
Исправление ошибок
- Исправлена ошибка, из-за которой
BiometricPrompt
вызывал сбой на некоторых устройствах Android 9 без сканера отпечатков пальцев. ( b/151443237 ) - Исправлена потенциальная
NullPointerException
вFingerprintDialogFragment
. ( b/167951429 ) - Исправлена ошибка, из-за которой для вызова рефлексивного метода в
BiometricManager
использовался неправильный типCryptoObject
. ( b/165824669 ) - Исправлена ошибка, из-за которой повторное отображение
BiometricPrompt
вскоре после закрытия приводило к автоматическому закрытию нового запроса на некоторых устройствах Android 10. ( b/157783075 ) - Исправлены утечки памяти, связанные с использованием
FingerprintManagerCompat
. ( b/165840273 ) - Исправлены проблемы с пользовательским интерфейсом диалогового окна сканера отпечатков пальцев, который скрывался или отображался некорректно на некоторых устройствах Android 9. ( b/154868505 , b/148350291 )
Версия 1.1.0-альфа02
19 августа 2020 г.
Выпущен androidx.biometric:biometric:1.1.0-alpha02
. Версия 1.1.0-alpha02 содержит эти коммиты.
Новые возможности
-
BiometricManager#canAuthenticate()
теперь может возвращатьBIOMETRIC_STATUS_UNKNOWN
, чтобы указать, что пользователь все еще может пройти аутентификацию, илиBIOMETRIC_ERROR_UNSUPPORTED
чтобы указать, что данная комбинация аутентификатора не поддерживается устройством. -
BiometricPrompt#authenticate()
теперь можно использовать для аутентификации учетных данных устройства с помощью связанногоCryptoObject
только на Android 11 (уровень API 30) и выше.
Изменения API
- Сделано необязательным предоставление явного
Executor
при создании экземпляраBiometricPrompt
. ( I6bb8a ) - Добавлен метод
BiometricManager#canAuthenticate(int)
из Android 11. ( Ia3f1c ) - Обновлен
BiometricPrompt
для добавления поддержки константBiometricManager.Authenticators
из Android 11. ( I39bd8 ) - Добавлен метод
BiometricPrompt.AuthenticationResult#getAuthenticationType()
из Android 11. ( Icfad5 ) - Добавлен код ошибки
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
из Android 11. ( I6610b ) - Обновлен
BiometricPrompt.CryptoObject
для поддержкиIdentityCredential
только на Android 11 (уровень API 30) и выше. ( I1d9f6 )
Исправление ошибок
- Исправлены утечки памяти, о которых сообщил LeakCanary в
BiometricFragment
иBiometricViewModel
. ( b/144919472 ) - Гарантировано, что
BiometricViewModel
больше не будет вызыватьMutableLiveData#setValue()
из фонового потока. ( b/159983244 ) - Исправлена ошибка, из-за которой
BiometricPrompt
некорректно обрабатывал временную блокировку на некоторых уровнях API. ( 9acfce9 ) - Исправлена ошибка, из-за которой
BiometricPrompt
возвращал неправильный код ошибки для устройства, не защищенного учетными данными блокировки экрана на некоторых уровнях API. ( b/148626482 ) - Исправлена ошибка, из-за которой
BiometricManager
иBiometricPrompt
возвращали неправильные коды ошибок для устройства без реализации защиты клавиатуры на некоторых уровнях API. ( 891c6e0 )
Версия 1.1.0-альфа01
24 июня 2020 г.
Выпущен androidx.biometric:biometric:1.1.0-alpha01
. Версия 1.1.0-alpha01 содержит эти коммиты.
Новые возможности
- Реорганизована реализация внутренней библиотеки для устранения потенциальных источников утечек памяти и другого непреднамеренного поведения:
- Внутренние фрагменты теперь обмениваются и сохраняют данные с помощью
ViewModel
, привязанной к жизненному циклу активности клиентского приложения. - Аутентификация учетных данных устройства до Android 10 (уровень API 29) больше не запускает прозрачную активность в клиентском приложении.
- Внутренние фрагменты теперь обмениваются и сохраняют данные с помощью
Исправление ошибок
- Устранены предупреждения об устаревании, связанные с использованием
FingerprintManagerCompat
. ( b/142967618 ) - Изменен способ вызова методов платформы, контролируемых SDK, чтобы избежать проблем с проверкой классов в старых версиях Android. ( 94beb4b )
- Зависимости Gradle, которые не являются частью публичного API, больше не экспортируются библиотекой. ( f289d9e )
Версия 1.0.1
Версия 1.0.1
18 декабря 2019 г.
Выпущен androidx.biometric:biometric:1.0.1
. Версия 1.0.1 содержит эти коммиты .
Исправления ошибок
- Расширено существующее обходное решение по отпечаткам пальцев для криптографической аутентификации для известных затронутых поставщиков, при этом оно также ограничено API 28 ( b/143361271 )
- Исправлена проблема на некоторых устройствах, когда биометрический диалог отображался под системным наложением ( b/143230260 ).
- Исправлено несколько проблем с
setDeviceCredentialAllowed(true)
( b/143091227 , b/143097321 , b/143653944 ) - Исправлена проблема в некоторых версиях Android, из-за которой
onAuthenticationSuccess
не всегда вызывался после подтверждения пользователем своих учетных данных устройства ( b/145232806 ). - Исправлена проблема в некоторых версиях Android, из-за которой
onAuthenticationError
не всегда вызывался при отклонении запроса при повороте ( b/145230042 ). - Исправлена проблема в некоторых версиях Android, из-за которой запрос не закрывался при получении определенных кодов ошибок ( b/143683687 ).
- Исправлена потенциальная
NullPointerException
вBiometricFragment
( b/142599311 )
Версия 1.0.0
Версия 1.0.0
7 ноября 2019 г.
androidx.biometric:biometric:1.0.0
выпущен без изменений с 1.0.0-rc02
. Версия 1.0.0 содержит эти коммиты .
Основные особенности 1.0.0
- Совместимая версия API
BiometricPrompt
иBiometricManager
, реализованная в Android 10, с полной поддержкой функций вплоть до Android 6.0 (API 23) - Встроенное управление жизненным циклом для
BiometricPrompt
в пределахFragment
илиFragmentActivity
- Особая обработка устройств, которые, как известно, неправильно представляют слабые биометрические данные во время криптографической аутентификации
Версия 1.0.0-rc02
23 октября 2019 г.
Выпущен androidx.biometric:biometric:1.0.0-rc02
. Версия 1.0.0-rc02 содержит эти коммиты .
Исправления ошибок
- Добавлено временное решение для некоторых устройств, которые, как известно, неправильно предоставляют слабые биометрические данные при вызове криптографической аутентификации в API версий 28 и 29 ( b/142150327 ).
Версия 1.0.0-rc01
9 октября 2019 г.
Выпущен androidx.biometric:biometric:1.0.0-rc01
. Версия 1.0.0-rc01 содержит эти коммиты .
Исправления ошибок
- Исправлен потенциальный сбой
FingerprintDialogFragment
при его закрытии во время поворота экрана ( b/141356362 ) - Исправлена ошибка, из-за которой получение нулевого
AuthenticationResult
от API фреймворка могло привести к сбою ( b/138862251 ). - Исправлены сбои, вызванные закрытием
BiometricPrompt
послеonSaveInstanceState()
( b/138825362 , b/140447194 )
Версия 1.0.0-beta02
18 сентября 2019 г.
Выпущен androidx.biometric:biometric:1.0.0-beta02
. Версия 1.0.0-beta02 содержит эти коммиты .
Исправления ошибок
- Исправлены проблемы с поддержкой учетных данных устройства в версии
1.0.0-beta01
- Удалены зависимости Java 8 и выполнен переход на зависимость от Java 7 ( b/140508526 )
-
FingerprintHelperFragment
теперь корректно выдаетERROR_HW_NOT_PRESENT
если не обнаружено оборудование для считывания отпечатков пальцев ( b/140427586 )
Версия 1.0.0-beta01
29 августа 2019 г.
Выпущен androidx.biometric:biometric:1.0.0-beta01
. Версия 1.0.0-beta01 содержит эти коммиты .
Новые возможности
Мы представили второй конструктор для BiometricPrompt, который позволяет размещать его во фрагменте (в отличие от существующего конструктора, которому требуется FragmentActivity).
Мы также рады представить следующие функции Android 10 в биометрической библиотеке AndroidX:
-
BiometricManager#canAuthenticate
-
BiometricPrompt.PromptInfo#setConfirmationRequired
-
BiometricPrompt.PromptInfo#setDeviceCredentialAllowed
На Android 10 библиотека будет вызывать соответствующие методы из API платформы. На более старых уровнях API библиотека будет эмулировать поведение.
Изменения API
- Добавлен фрагмент-специфичный конструктор для биометрической подсказки ( b/131980596 )
- См. раздел «Новые функции» выше.
Исправления ошибок
- Добавить поддержку учетных данных устройства BiometricPrompt для L+
- Исправлен BiometricPrompt для использования общедоступных констант ошибок ( b/137788194 )
- Исправление
NullPointerException
вBiometricPrompt.onAttach()
( b/136103103 ) - Изменено поведение, чтобы не допустить отмены BiometricPrompt событием касания вне подсказки ( b/135684487 ).
- Исправлен сбой onAuthenticationError при возврате нулевого значения ошибки в Kotlin ( b/128350861 ).
- FingerprintDialogFragment теперь поддерживает стили ( b/127878106 )
- FingerprintDialog теперь можно прокручивать ( b/126367887 )
- Исправлена ошибка, из-за которой поворот биометрического диалогового окна вызывал исключение
IllegalStateException
( b/124153656 ), ( b/123811924 ) - Исправлено несогласованное поведение на уровнях API 23–27. ( b/124066957 )
- Исправлена ошибка, из-за которой диалоговое окно входа по отпечатку пальца считывало неверный текст при использовании Talkback. ( b/123572331 )
Версия 1.0.0-альфа04
3 апреля 2019 г.
Выпущен androidx.biometric:biometric:1.0.0-alpha04
. Коммиты, включенные в эту версию, можно найти здесь .
Исправления ошибок
- Исправлена ошибка, из-за которой биометрические фрагменты не очищались во всех случаях. ( b/121117380 )
- Исправлена ошибка
BiometricPrompt
, допускающая только один экземплярBiometricPrompt.AuthenticationCallback
( b/123857949 ) - Исправлено несоответствие поведения ошибки
BiometricPrompt
между системной и совместимой версиями. ( b/123572326 ) - Исправлен обратный вызов
onAuthenticationError()
с@NotNull errString
вызывающий исключениеNullPointerException
во время выполнения ( b/123167217 ) - Исправлены сбои кнопки отмены
androidx.BiometricPrompt
( b/122054485 ) - Исправлена ошибка, из-за которой заголовок/описание
androidx.biometric.PromptInfo
не изменялось на Android P ( b/122856773 )
Версия 1.0.0-альфа03
17 декабря 2018 г.
Исправления ошибок
- Исправлены проблемы, связанные с фрагментами
- На устройствах O и старше ошибки блокировки возвращаются немедленно, чтобы соответствовать P и выше.
Биометрический
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
---|---|---|---|---|
20 мая 2025 г. | 1.1.0 | - | - | 1.4.0-альфа04 |
Объявление зависимостей
Чтобы добавить зависимость от Biometric, необходимо добавить репозиторий Google Maven в свой проект. Прочитайте репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для необходимых артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { // Java language implementation implementation "androidx.biometric:biometric:1.1.0" // Kotlin implementation "androidx.biometric:biometric-ktx:1.4.0-alpha02" }
Котлин
dependencies { // Java language implementation implementation("androidx.biometric:biometric:1.1.0") // Kotlin implementation("androidx.biometric:biometric:1.4.0-alpha02") }
Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 1.4
Версия 1.4.0-альфа04
20 мая 2025 г.
Выпущен androidx.biometric:biometric:1.4.0-alpha04
. Версия 1.4.0-alpha04 содержит эти коммиты .
Новые возможности
- Всегда используйте API
KeyguardManager
внутренне для приложений Wear ( I9b7fd )
Изменения API
- Добавить привилегированный бит аутентификатора
IDENTITY_CHECK
( I706bb )
Версия 1.4.0-альфа03
26 марта 2025 г.
Выпущен androidx.biometric:biometric:1.4.0-alpha03
. Версия 1.4.0-alpha03 содержит эти коммиты .
Новые возможности
- Введен новый API точки входа аутентификации
registerForAuthenticationResult()
для замены модуляandroidx.biometric:biometric-ktx
иandroidx.BiometricPrompt
. Этот новый API смоделирован по образцу API Activity Result и обеспечивает полную совместимость с разработкой на Kotlin и Java.
Изменения API
- Переименовать
ERROR_MORE_OPTIONS_BUTTON
вERROR_CONTENT_VIEW_MORE_OPTIONS_BUTTON
( I71d07 ) - Добавьте аннотацию
@Deprecated
дляIdentityCredential
, чтобы обеспечить соответствие фреймворку. ( I6ac90 , b/140252778 , b/217942278 , b/251211046 , b/239955609 ) - [1/3] Удалить biometric.auth и библиотеку kotlin, которые будут переработаны. ( I2f67c )
- [2/3] Добавьте
AuthenticationRequest
как вход аутентификации иAuthenticationResult
как тип результата аутентификации. Существует два видаAuthenticationRequest
с конструкторами. ( I50fd9 )-
BiometricRequest
для биометрической аутентификации с различнойStrength
и опциональнымFallback
. -
CredentialRequest
для аутентификации только по учетным данным устройства.
-
- [3/3] Добавить новые API activity-result-pattern для биометрического модуля. В частности, добавить API регистрации с именем
registerForAuthenticationResult()
, который регистрируетAuthenticationResultCallback
и необязательныйonAuthenticationFailedCallback
, и приводит кAuthenticationResultLauncher
для запуска аутентификации со всеми входными данными. ( I2b06e )
Исправление ошибок
- Эта библиотека теперь использует аннотации nullness JSpecify , которые являются type-use. Разработчики Kotlin должны использовать следующий аргумент компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict
(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( Ib49b4 , b/326456246 ) - Исправлена проблема невозможности создания экземпляра фрагмента
androidx.biometric.FingerprintDialogFragment
. ( I51c4a , b/181805603 ) - Исправлена ошибка, из-за которой
BiometricPrompt
не закрывался при нажатии кнопки «Домой» на устройстве. ( I8c393 , I0ca8c , b/149770989 ) - Исправлены несоответствия кодов ошибок при отключении биометрической аутентификации приложений в API 34/35. ( Ice99d , b/386918213 )
- Применяйте принудительное использование сильных биометрических данных на старых устройствах также и к комбинированным аутентификаторам. ( Ibb853 , I5cfb3 , b/257670132 )
Версия 1.4.0-альфа02
7 августа 2024 г.
Выпущены androidx.biometric:biometric:1.4.0-alpha02
и androidx.biometric:biometric-ktx:1.4.0-alpha02
. Версия 1.4.0-alpha02 содержит эти коммиты .
Новые возможности
-
PromptContentView
позволяет разработчикам отображать пользовательское представление содержимого как дополнительную опцию представления простого текстового описания. - Отображается логотип приложения в биометрическом запросе — он автоматически добавляется с помощью значка приложения.
Изменения API
- Добавьте API для поддержки пользовательского просмотра контента
-
BiometricPrompt.PromptInfo.Builder#setContentView
-
BiometricPrompt.PromptInfo#getContentView
- Интерфейс
PromptContentView
- Класс
PromptVerticalListContentView
- Класс
PromptContentViewWithMoreOptionsButton
(только для привилегированных приложений)
-
- Добавить API для поддержки логотипа (только для привилегированных приложений)
-
BiometricPrompt.PromptInfo.Builder#setLogoBitmap
-
BiometricPrompt.PromptInfo.Builder#setLogoRes
-
BiometricPrompt.PromptInfo.Builder#setLogoDescription
-
BiometricPrompt.PromptInfo#getLogoBitmap
-
BiometricPrompt.PromptInfo#getLogoRes
-
BiometricPrompt.PromptInfo#getLogoDescription
58c35c6
-
Исправление ошибок
- Обновите
compileSdk
до версии 35 5dc41be
Версия 1.4.0-альфа01
29 мая 2024 г.
Выпущены androidx.biometric:biometric:1.4.0-alpha01
и androidx.biometric:biometric-ktx:1.4.0-alpha01
. Эта версия разрабатывается во внутренней ветке и нацелена на Android 15 Beta 2.
Исправление ошибок
- Обновите пользовательский интерфейс для соответствия изменениям платформы в Android 15
Версия 1.2.0
Версия 1.2.0-альфа05
21 сентября 2022 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha05
и androidx.biometric:biometric-ktx:1.2.0-alpha05
. Версия 1.2.0-alpha05 содержит эти коммиты.
Изменения API
- Добавлена поддержка
CryptoObject
дляandroid.security.identity.PresentationSession
в Android 13. ( C5f1ec , b/197965513 )
Исправление ошибок
- Удалены ненужные варианты ресурсов для уменьшения размера библиотеки. ( I3601e , b/220178553 )
- Исправлена проблема с
BiometricPrompt
, размещенным в неактивных контекстах. ( Ife255 )
Версия 1.2.0-альфа04
17 ноября 2021 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha04
и androidx.biometric:biometric-ktx:1.2.0-alpha04
. Версия 1.2.0-alpha04 содержит эти коммиты.
Новые возможности
- Улучшена поддержка BiometricPrompt для фрагментов, размещенных в контекстах без активности ( I9312b )
Изменения API
- Добавлена поддержка API Android 12 BiometricManager.Strings ( I12f2d )
- Изменена совместимость цели и источника с Java 7 на Java 8 ( I16129 )
Исправление ошибок
- Исправлена проблема с API 29, когда некоторые устройства (включая эмуляторы) получали ошибку отмены при возврате к PIN/шаблону/паролю. Обратите внимание, что для некоторых устройств с API 29 это может привести к тому, что пользователю будет предложено разблокировать экран, даже если биометрические данные доступны и зарегистрированы. ( b/142740104 )
- Исправлена ошибка API 29, из-за которой устройства без биометрического оборудования некорректно возвращались к использованию PIN-кода/графического ключа/пароля ( b/170517889 ).
Версия 1.2.0-альфа03
24 февраля 2021 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha03
и androidx.biometric:biometric-ktx:1.2.0-alpha03
. Версия 1.2.0-alpha03 содержит эти коммиты.
Изменения API
- Добавлены расширения приостановки сопрограмм для CredentialAuthPrompt, аналогичные тем, которые существуют для других типов AuthPrompt. ( I9ac70 )
Версия 1.2.0-альфа02
27 января 2021 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha02
и androidx.biometric:biometric-ktx:1.2.0-alpha02
. Версия 1.2.0-alpha02 содержит эти коммиты.
Изменения API
- Реорганизованы некоторые поля
AuthPrompt
, которые ранее устанавливались через конструктор, в аргументы методаstartAuthentication(...)
. ( I18896 , b/174098373 ) - Добавлены минимальные требования к уровню API для типов
AuthPrompt
с ограниченной поддержкой или без нее в старых версиях Android. ( I18896 ) - Добавлены методы получения для всех полей
AuthPrompt
, которые задаются через конструктор. ( I18896 ) - Добавлены приостановка расширений сопрограмм Kotlin для биометрической аутентификации через API
AuthPrompt
. Эти функции будут возвращатьAuthenticationResult
непосредственно в случае успеха или выдавать исключение в случае ошибки или неудачи (отклонение учетных данных). ( Iffc9e )
Исправление ошибок
- Исправлена ошибка, из-за которой
BiometricManager.canAuthenticate(int)
иногда возвращал неправильный код состояния для устройства с датчиком отпечатков пальцев на Android 10 (уровень API 29). ( I72420 , b/176921662 ) - Исправлена ошибка, из-за которой
BiometricManager.canAuthenticate(int)
возвращал неправильный код состояния для устройства без биометрического оборудования и без зарегистрированного PIN-кода, шаблона или пароля на Android 10 (уровень API 29) и более ранних версиях SDK. ( I79b7d , b/174505824 ) - Исправлена утечка памяти, которая могла возникнуть, когда
BiometricPrompt
размещался во фрагменте с более коротким жизненным циклом, чем связанная с ним активность. ( I70864 , b/167014923 )
Версия 1.2.0-альфа01
2 декабря 2020 г.
Выпущены androidx.biometric:biometric:1.2.0-alpha01
и androidx.biometric:biometric-ktx:1.2.0-alpha01
. Версия 1.2.0-alpha01 содержит эти коммиты.
Новые возможности
- Представлен модуль
androidx.biometric:biometric-ktx
, который добавляет API и расширения, специфичные для Kotlin, поверхandroidx.biometric:biometric
.
Изменения API
- Добавлены новые API
AuthPrompt
для созданияBiometricPrompt
и выполнения аутентификации. Эти API не требуют созданияBiometricPrompt
в обратном вызове раннего жизненного цикла, напримерonCreate
. ( I19022 ) - Добавлены расширения Kotlin для
Fragment
иFragmentActivity
для новых APIAuthPrompt
. ( Iaf98c )
Версия 1.1.0
Версия 1.1.0
27 января 2021 г.
Выпущен androidx.biometric:biometric:1.1.0
. Версия 1.1.0 содержит эти коммиты.
Основные изменения по сравнению с версией 1.0.0
- Добавлена обратно совместимая поддержка новых функций биометрической аутентификации и обновлений API, представленных в Android 11.
- Значительно уменьшен размер приложения, занимаемого библиотекой (в некоторых случаях более чем на 100 КБ).
- Устранены различные источники утечек памяти, которые ранее вызывала библиотека.
- Исправлены ошибки проверки классов, которые могли повлиять на производительность на старых версиях Android.
- Внесены различные дополнительные улучшения стабильности и поведения библиотеки.
Версия 1.1.0-rc01
11 ноября 2020 г.
Выпущен androidx.biometric:biometric:1.1.0-rc01
. Версия 1.1.0-rc01 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема на некоторых устройствах, когда определенные действия (аутентификация, отмена и т. д.) иногда вызывали исключение
NullPointerException
. ( b/151316421 ) - Исправлена ошибка, из-за которой некоторые устройства Pixel сообщали неправильный статус при использовании
BiometricManager#canAuthenticate(int)
для проверки биометрических данных класса 3 на Android 10. ( b/170406186 )
Версия 1.1.0-beta01
1 октября 2020 г.
Выпущен androidx.biometric:biometric:1.1.0-beta01
. Версия 1.1.0-beta01 содержит эти коммиты.
Новые возможности
- Значительно уменьшен размер APK-файла библиотеки (в некоторых случаях сжато более чем на 100 КБ) за счет замены диалоговых анимаций статическими ресурсами на Android 8.1 и более ранних версиях. ( I4844e )
-
BiometricPrompt
теперь автоматически возвращается к аутентификации учетных данных устройства (если разрешено) на всех поддерживаемых версиях Android, когда биометрическая аутентификация заблокирована. ( b/149579143 )
Исправление ошибок
- Исправлена ошибка, из-за которой
BiometricPrompt
вызывал сбой на некоторых устройствах Android 9 без сканера отпечатков пальцев. ( b/151443237 ) - Исправлена потенциальная
NullPointerException
вFingerprintDialogFragment
. ( b/167951429 ) - Исправлена ошибка, из-за которой для вызова рефлексивного метода в
BiometricManager
использовался неправильный типCryptoObject
. ( b/165824669 ) - Исправлена ошибка, из-за которой повторное отображение
BiometricPrompt
вскоре после закрытия приводило к автоматическому закрытию нового запроса на некоторых устройствах Android 10. ( b/157783075 ) - Исправлены утечки памяти, связанные с использованием
FingerprintManagerCompat
. ( b/165840273 ) - Исправлены проблемы с пользовательским интерфейсом диалогового окна сканера отпечатков пальцев, который скрывался или отображался некорректно на некоторых устройствах Android 9. ( b/154868505 , b/148350291 )
Версия 1.1.0-альфа02
19 августа 2020 г.
Выпущен androidx.biometric:biometric:1.1.0-alpha02
. Версия 1.1.0-alpha02 содержит эти коммиты.
Новые возможности
-
BiometricManager#canAuthenticate()
теперь может возвращатьBIOMETRIC_STATUS_UNKNOWN
, чтобы указать, что пользователь все еще может пройти аутентификацию, илиBIOMETRIC_ERROR_UNSUPPORTED
чтобы указать, что данная комбинация аутентификатора не поддерживается устройством. -
BiometricPrompt#authenticate()
теперь можно использовать для аутентификации учетных данных устройства с помощью связанногоCryptoObject
только на Android 11 (уровень API 30) и выше.
Изменения API
- Сделано необязательным предоставление явного
Executor
при создании экземпляраBiometricPrompt
. ( I6bb8a ) - Добавлен метод
BiometricManager#canAuthenticate(int)
из Android 11. ( Ia3f1c ) - Обновлен
BiometricPrompt
для добавления поддержки константBiometricManager.Authenticators
из Android 11. ( I39bd8 ) - Добавлен метод
BiometricPrompt.AuthenticationResult#getAuthenticationType()
из Android 11. ( Icfad5 ) - Добавлен код ошибки
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
из Android 11. ( I6610b ) - Обновлен
BiometricPrompt.CryptoObject
для поддержкиIdentityCredential
только на Android 11 (уровень API 30) и выше. ( I1d9f6 )
Исправление ошибок
- Исправлены утечки памяти, о которых сообщил LeakCanary в
BiometricFragment
иBiometricViewModel
. ( b/144919472 ) - Гарантировано, что
BiometricViewModel
больше не будет вызыватьMutableLiveData#setValue()
из фонового потока. ( b/159983244 ) - Исправлена ошибка, из-за которой
BiometricPrompt
некорректно обрабатывал временную блокировку на некоторых уровнях API. ( 9acfce9 ) - Исправлена ошибка, из-за которой
BiometricPrompt
возвращал неправильный код ошибки для устройства, не защищенного учетными данными блокировки экрана на некоторых уровнях API. ( b/148626482 ) - Исправлена ошибка, из-за которой
BiometricManager
иBiometricPrompt
возвращали неправильные коды ошибок для устройства без реализации защиты клавиатуры на некоторых уровнях API. ( 891c6e0 )
Версия 1.1.0-альфа01
24 июня 2020 г.
Выпущен androidx.biometric:biometric:1.1.0-alpha01
. Версия 1.1.0-alpha01 содержит эти коммиты.
Новые возможности
- Реорганизована реализация внутренней библиотеки для устранения потенциальных источников утечек памяти и другого непреднамеренного поведения:
- Внутренние фрагменты теперь обмениваются и сохраняют данные с помощью
ViewModel
, привязанной к жизненному циклу активности клиентского приложения. - Аутентификация учетных данных устройства до Android 10 (уровень API 29) больше не запускает прозрачную активность в клиентском приложении.
- Внутренние фрагменты теперь обмениваются и сохраняют данные с помощью
Исправление ошибок
- Устранены предупреждения об устаревании, связанные с использованием
FingerprintManagerCompat
. ( b/142967618 ) - Изменен способ вызова методов платформы, контролируемых SDK, чтобы избежать проблем с проверкой классов в старых версиях Android. ( 94beb4b )
- Зависимости Gradle, которые не являются частью публичного API, больше не экспортируются библиотекой. ( f289d9e )
Версия 1.0.1
Версия 1.0.1
18 декабря 2019 г.
Выпущен androidx.biometric:biometric:1.0.1
. Версия 1.0.1 содержит эти коммиты .
Исправления ошибок
- Расширено существующее обходное решение по отпечаткам пальцев для криптографической аутентификации для известных затронутых поставщиков, при этом оно также ограничено API 28 ( b/143361271 )
- Исправлена проблема на некоторых устройствах, когда биометрический диалог отображался под системным наложением ( b/143230260 ).
- Исправлено несколько проблем с
setDeviceCredentialAllowed(true)
( b/143091227 , b/143097321 , b/143653944 ) - Исправлена проблема в некоторых версиях Android, из-за которой
onAuthenticationSuccess
не всегда вызывался после подтверждения пользователем своих учетных данных устройства ( b/145232806 ). - Исправлена проблема в некоторых версиях Android, из-за которой
onAuthenticationError
не всегда вызывался при отклонении запроса при повороте ( b/145230042 ). - Исправлена проблема в некоторых версиях Android, из-за которой запрос не закрывался при получении определенных кодов ошибок ( b/143683687 ).
- Исправлена потенциальная
NullPointerException
вBiometricFragment
( b/142599311 )
Версия 1.0.0
Версия 1.0.0
7 ноября 2019 г.
androidx.biometric:biometric:1.0.0
выпущен без изменений с 1.0.0-rc02
. Версия 1.0.0 содержит эти коммиты .
Основные особенности 1.0.0
- Версия совместимости API
BiometricPrompt
иBiometricManager
, как реализовано в Android 10, с полной поддержкой функций обратно в Android 6.0 (API 23) - Встроенное управление жизненным циклом для
BiometricPrompt
в рамкахFragment
илиFragmentActivity
- Специальная обработка для устройств, известно, неправильно представляет слабую биометрию во время крипто-аутентификации
Версия 1.0.0-RC02
23 октября 2019 г.
androidx.biometric:biometric:1.0.0-rc02
выпускается. Версия 1.0.0-RC02 содержит эти коммиты .
Исправления ошибок
- Добавлен обходной путь для определенных устройств, которые, как известно, неверно обеспечивают слабую биометрическую, когда на крипто-аутентификации вызывается версии API 28 и 29 ( B/142150327 )
Версия 1.0.0-RC01
9 октября 2019 г.
androidx.biometric:biometric:1.0.0-rc01
выпускается. Версия 1.0.0-RC01 содержит эти коммиты .
Исправления ошибок
- Исправлена потенциальная сбоя с
FingerprintDialogFragment
при увольнении при его увольнении во время вращения экрана ( B/141356362 ) - Исправлена проблема, в которой получение нулевой
AuthenticationResult
из фреймворчатого API может вызвать аварию ( B/138862251 ) - Фиксированные аварии, вызванные
BiometricPrompt
, увольняются послеonSaveInstanceState()
( B/138825362 , B/140447194 )
Версия 1.0.0-бета02
18 сентября 2019 г.
androidx.biometric:biometric:1.0.0-beta02
выпускается. Версия 1.0.0-BETA02 содержит эти коммиты .
Исправления ошибок
- Исправленные проблемы с поддержкой учетных данных устройства в версии
1.0.0-beta01
- Удаленные зависимости Java 8 и переключаться на в зависимости от Java 7 ( B/140508526 )
-
FingerprintHelperFragment
теперь правильно выбрасываетERROR_HW_NOT_PRESENT
, когда не обнаруживается оборудования отпечатков пальцев ( B/140427586 )
Версия 1.0.0-бета01
29 августа 2019 г.
androidx.biometric:biometric:1.0.0-beta01
выпускается. Версия 1.0.0-BETA01 содержит эти коммиты .
Новые возможности
Мы представили второй конструктор для BiometricPrompt, который позволяет его размещать в фрагменте (в отличие от существующего конструктора, который требует фрагментирования).
Мы также рады принести следующую функциональность от Android 10 до библиотеки Androidx:
-
BiometricManager#canAuthenticate
-
BiometricPrompt.PromptInfo#setConfirmationRequired
-
BiometricPrompt.PromptInfo#setDeviceCredentialAllowed
На Android 10 библиотека вызовет соответствующие методы из API платформы. На более старых уровнях API библиотека подражает поведению.
API меняется
- Добавлен специфичный для фрагмента конструктор для биометрической подсказки ( B/131980596 )
- Смотрите раздел «Новые функции» выше.
Исправления ошибок
- Добавить поддержку учетных данных BiometricPrompt Device для L+
- Фиксированный биометрический продукт для использования констант публичной ошибки ( B/137788194 )
- Исправлена
NullPointerException
вBiometricPrompt.onAttach()
( B/136103103 ) - Измененное поведение, чтобы не позволить биометрическому профмоптмену отменены с помощью события при привлечении ( B/135684487 )
- Исправлено, что в котлине возвращается значение с аварией в сборе.
- Fingerprintdialogfragment в настоящее время способен стилем ( B/127878106 )
- Fingerprintdialog теперь закручивается ( B/126367887 )
- Исправлена ошибка, когда вращение биометрического диалога повышает
IllegalStateException
( B/124153656 ), ( B/123811924 ) - Фиксированное противоречивое поведение на уровнях API 23-27. ( B/124066957 )
- Исправлена проблема, где диалоговое окно входа в систему отпечатков пальцев. Читать неправильный текст с использованием Talkback. ( B/123572331 )
Версия 1.0.0-Alpha04
3 апреля 2019 г.
androidx.biometric:biometric:1.0.0-alpha04
выпускается. Коммуты, включенные в эту версию, можно найти здесь .
Исправления ошибок
- Фиксированные биометрические фрагменты не очищаются во всех случаях. ( B/121117380 )
- Фиксированная
BiometricPrompt
позволяет только один экземплярBiometricPrompt.AuthenticationCallback
( b/123857949 ) - Фиксированное поведение ошибок
BiometricPrompt
, несовместимое между версиями системы и Compat. ( B/123572326 ) - Фиксированный обратный вызов
onAuthenticationError()
с@NotNull errString
вызываетNullPointerException
во время выполнения ( B/123167217 ) - Исправлено
androidx.BiometricPrompt
кнопка отмены сбои ( b/122054485 ) - Фиксированный
androidx.biometric.PromptInfo
заголовок/описание не изменено на Android P ( B/122856773 )
Версия 1.0.0-Alpha03
17 декабря 2018 г.
Исправления ошибок
- Фиксированные проблемы, связанные с фрагментом
- На устройствах o и старше ошибки блокировки возвращаются немедленно, чтобы соответствовать P и выше
Биометрический
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
---|---|---|---|---|
20 мая 2025 г. | 1.1.0 | - | - | 1.4.0-Альфа04 |
Объявление зависимостей
Чтобы добавить зависимость от биометрической, вы должны добавить репозиторий Google Maven в свой проект. Прочитайте репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для артефактов, которые вам нужны в файле build.gradle
для вашего приложения или модуля:
классный
dependencies { // Java language implementation implementation "androidx.biometric:biometric:1.1.0" // Kotlin implementation "androidx.biometric:biometric-ktx:1.4.0-alpha02" }
Котлин
dependencies { // Java language implementation implementation("androidx.biometric:biometric:1.1.0") // Kotlin implementation("androidx.biometric:biometric:1.4.0-alpha02") }
Для получения дополнительной информации о зависимостях см. Добавить зависимости от сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 1.4
Версия 1.4.0-Alpha04
20 мая 2025 г.
androidx.biometric:biometric:1.4.0-alpha04
. Версия 1.4.0-Alpha04 содержит эти коммиты .
Новые возможности
- Всегда используйте API
KeyguardManager
Internal для приложений Wear ( i9b7fd )
Изменения API
- Добавьте привилегированный аутентификатор бит
IDENTITY_CHECK
( i706bb )
Версия 1.4.0-Alpha03
26 марта 2025 г.
androidx.biometric:biometric:1.4.0-alpha03
выпускается. Версия 1.4.0-Alpha03 содержит эти коммиты .
Новые возможности
- Представил новый API API API для замены
androidx.biometric:biometric-ktx
registerForAuthenticationResult()
иandroidx.BiometricPrompt
. Этот новый API моделируется после API результата активности и обеспечивает беспроблемную совместимость с развитием Kotlin и Java.
Изменения API
- Rename
ERROR_MORE_OPTIONS_BUTTON
toERROR_CONTENT_VIEW_MORE_OPTIONS_BUTTON
( i71d07 ) - Добавьте
@Deprecated
аннотацию дляIdentityCredential
, чтобы сохранить соответствие структуре. ( I6ac90 , b/140252778 , b/217942278 , b/251211046 , b/239955609 ) - [1/3] Удалите библиотеку Biometric.auth и Kotlin, которая будет перепроектирована. ( I2f67c )
- [2/3] Добавьте
AuthenticationRequest
в качестве ввода аутентификации иAuthenticationResult
как тип результата аутентификации. Есть два видаAuthenticationRequest
, со строителями. ( I50fd9 )-
BiometricRequest
для биометрической аутентификации с различнойStrength
и необязательнымFallback
. -
CredentialRequest
для аутентификации только для учетных данных.
-
- [3/3] Добавьте новые API-интерфейсы-паттерны для биометрического модуля. В частности, добавьте API регистрации с именем
registerForAuthenticationResult()
, который регистрируетAuthenticationResultCallback
, и дополнительнуюonAuthenticationFailedCallback
и приводит к результатуAuthenticationResultLauncher
, чтобы начать аутентификацию со всеми входом. ( I2b06e )
Исправление ошибок
- В этой библиотеке теперь используются аннотации Nullness , которые являются типовым использованием. Разработчики Kotlin должны использовать следующий аргумент компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict
(это по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( IB49B4 , B/326456246 ) - Исправлена проблема с тем, чтобы быть неспособным создать фрагмент
androidx.biometric.FingerprintDialogFragment
. ( I51c4a , b/181805603 ) - Исправлена проблема, в которой
BiometricPrompt
не отклоняется, когда нажата кнопка «Домой устройства». ( I8c393 , i0ca8c , b/149770989 ) - Исправленные несоответствия кода ошибки для отключения биометрического приложения AUTH на API 34/35. ( ICE99D , B/386918213 )
- Применить принуждение сильной биометрии на более старых устройствах для комбинированных аутентификаторов. ( IBB853 , I5CFB3 , B/257670132 )
Версия 1.4.0-Alpha02
7 августа 2024 г.
androidx.biometric:biometric:1.4.0-alpha02
и androidx.biometric:biometric-ktx:1.4.0-alpha02
выпускаются. Версия 1.4.0-Alpha02 содержит эти коммиты .
Новые возможности
-
PromptContentView
позволяет разработчикам отображать пользовательское представление содержимого в виде дополнительного параметра простого описания текстового просмотра - Показан логотип приложения по биометрической подсказке - автоматически добавлен с использованием значка приложения.
Изменения API
- Добавить API для поддержки представления пользовательского контента
-
BiometricPrompt.PromptInfo.Builder#setContentView
-
BiometricPrompt.PromptInfo#getContentView
-
PromptContentView
Interface -
PromptVerticalListContentView
Class -
PromptContentViewWithMoreOptionsButton
Class (только для привилегированных приложений)
-
- Добавьте API для поддержки логотипа (только для привилегированных приложений)
-
BiometricPrompt.PromptInfo.Builder#setLogoBitmap
-
BiometricPrompt.PromptInfo.Builder#setLogoRes
-
BiometricPrompt.PromptInfo.Builder#setLogoDescription
-
BiometricPrompt.PromptInfo#getLogoBitmap
-
BiometricPrompt.PromptInfo#getLogoRes
-
BiometricPrompt.PromptInfo#getLogoDescription
58C35C6
-
Исправление ошибок
- Обновление
compileSdk
до 35 5DC41BE
Версия 1.4.0-Alpha01
29 мая 2024 г.
androidx.biometric:biometric:1.4.0-alpha01
и androidx.biometric:biometric-ktx:1.4.0-alpha01
. Эта версия разработана во внутренней ветви и нацелена на Android 15 Beta 2.
Исправление ошибок
- Обновление пользовательского интерфейса, чтобы соответствовать изменениям платформы в Android 15
Версия 1.2.0
Версия 1.2.0-Alpha05
21 сентября 2022 г.
androidx.biometric:biometric:1.2.0-alpha05
и androidx.biometric:biometric-ktx:1.2.0-alpha05
выпускаются. Версия 1.2.0-Alpha05 содержит эти коммиты.
Изменения API
- Добавлена поддержка
CryptoObject
дляandroid.security.identity.PresentationSession
в Android 13. ( C5F1EC , B/1979655513 )
Исправление ошибок
- Удалили ненужные варианты ресурсов для уменьшения размера библиотеки. ( I3601e , b/220178553 )
- Фиксированная проблема для
BiometricPrompt
, размещенных в неактивных контекстах. ( IFE255 )
Версия 1.2.0-Alpha04
17 ноября 2021 г.
androidx.biometric:biometric:1.2.0-alpha04
и androidx.biometric:biometric-ktx:1.2.0-alpha04
. Версия 1.2.0-Alpha04 содержит эти коммиты.
Новые возможности
- Улучшенная поддержка биометрических продуктов для фрагментов, которые размещаются в неактивных контекстах ( I9312B )
Изменения API
- Добавлена поддержка Android 12 BiometricManager.Strings API ( I12F2D )
- Измененная совместимость цели и источника от Java 7 на Java 8 ( I16129 )
Исправление ошибок
- Исправлена проблема на API 29, где некоторые устройства (включая эмуляторы) получат ошибку отмены при возвращении к PIN/PENT/PARLESST. Обратите внимание, что для некоторых устройств на API 29 это может привести к тому, что пользователя будет предложено для их блокировки экрана, даже если биометрика доступна и зарегистрирована. ( B/142740104 )
- Исправлена проблема на API 29, где устройства без биометрического оборудования не будут правильно возвращаться к PIN/PATER/PASSWER ( B/170517889 )
Версия 1.2.0-Alpha03
24 февраля 2021 г.
androidx.biometric:biometric:1.2.0-alpha03
и androidx.biometric:biometric-ktx:1.2.0-alpha03
. Версия 1.2.0-Alpha03 содержит эти коммиты.
Изменения API
- Добавлены приостановленные расширения Coroutine для CredentialAuthPrompt, аналогичные тем, которые существуют для других типов Authprompt. ( I9ac70 )
Версия 1.2.0-Alpha02
27 января 2021 г.
androidx.biometric:biometric:1.2.0-alpha02
и androidx.biometric:biometric-ktx:1.2.0-alpha02
. Версия 1.2.0-Alpha02 содержит эти коммиты.
Изменения API
- Рефакторировал некоторые поля
AuthPrompt
, которые ранее были установлены через строитель в Arproments MethodstartAuthentication(...)
. ( 18896 , B/174098373 ) - Добавлены минимальные требования уровня API для типов
AuthPrompt
с ограниченной поддержкой или без поддержки в старых версиях Android. ( 18896 ) - Добавлены методы Getter для всех полей
AuthPrompt
, которые установлены через строитель. ( 18896 ) - Добавлены приостановленные расширения Kotlin Coroutine для биометрической аутентификации с помощью API
AuthPrompt
. Эти функции возвращаютAuthenticationResult
непосредственно при успехе или выбросят исключение по ошибке или сбое (отклонение учетных данных). ( Iffc9e )
Исправление ошибок
- Исправлена проблема, в которой
BiometricManager.canAuthenticate(int)
иногда возвращает неправильный код состояния для устройства с датчиком отпечатков пальцев на Android 10 (API -уровне 29). ( I72420 , B/176921662 ) - Исправлена проблема, в которой
BiometricManager.canAuthenticate(int)
вернет неправильный код состояния для устройства без биометрического оборудования и без зарегистрированного PIN -кода, шаблона или пароля на Android 10 (уровень API 29) и предыдущие версии SDK. ( I79b7d , b/174505824 ) - Исправлена утечка памяти, которая возникнет, когда
BiometricPrompt
была размещена в фрагменте с более коротким жизненным циклом, чем связанная с ним активность. ( I70864 , B/167014923 )
Версия 1.2.0-Alpha01
2 декабря 2020 г.
androidx.biometric:biometric:1.2.0-alpha01
и androidx.biometric:biometric-ktx:1.2.0-alpha01
. Версия 1.2.0-Alpha01 содержит эти коммиты.
Новые возможности
- Представил модуль
androidx.biometric:biometric-ktx
, который добавляет, специфичные для котлин API и расширения поверхandroidx.biometric:biometric
.
Изменения API
- Добавлено новые API
AuthPrompt
для построенияBiometricPrompt
и выполнения аутентификации. Эти API не требуют, чтобыBiometricPrompt
был построен в раннем обратном вызове жизненного цикла, такой какonCreate
. ( I19022 ) - Добавлены расширения котлина к
Fragment
иFragmentActivity
для новых APIAuthPrompt
. ( Iaf98c )
Версия 1.1.0
Версия 1.1.0
27 января 2021 г.
androidx.biometric:biometric:1.1.0
выпускается. Версия 1.1.0 содержит эти коммиты.
Основные изменения с 1.0.0
- Добавлена обратная совместимая поддержка новых функций биометрической аутентификации и обновлений API, представленных в Android 11.
- Значительно уменьшило площадь размера приложения библиотеки (в некоторых случаях> 100 т.п.н.).
- Удалили различные источники утечек памяти, которые ранее были вызваны библиотекой.
- Фиксированные сбои проверки класса, которые могут повлиять на производительность на старых версиях Android.
- Сделал различные дополнительные улучшения для стабильности и поведения библиотеки.
Версия 1.1.0-RC01
11 ноября 2020 г.
androidx.biometric:biometric:1.1.0-rc01
выпускается. Версия 1.1.0-RC01 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема на некоторых устройствах, где определенные действия (аутентификация, отмена и т. Д.) Иногда бросают
NullPointerException
. ( B/151316421 ) - Исправлена проблема, в которой некоторые пиксельные устройства сообщили бы об неправильном статусе при использовании
BiometricManager#canAuthenticate(int)
для проверки биометрии класса 3 на Android 10. ( B/170406186 )
Версия 1.1.0-бета01
1 октября 2020 г.
androidx.biometric:biometric:1.1.0-beta01
выпускается. Версия 1.1.0-beta01 содержит эти коммиты.
Новые возможности
- Значительно уменьшило площадь APK размер библиотеки (в некоторых случаях сжатым> 100 т.п.н.), заменив диалоговые анимации на статические активы на Android 8.1 и ранее. ( I4844e )
-
BiometricPrompt
теперь автоматически возвращается к аутентификации учетных данных устройства (если разрешена) на всех поддерживаемых версиях Android, когда биометрическая аутентификация заблокирована. ( B/149579143 )
Исправление ошибок
- Исправлена проблема, в которой
BiometricPrompt
вызвал сбой на некоторых устройствах Android 9 без датчика отпечатков пальцев. ( B/151443237 ) - Исправлена потенциальная
NullPointerException
вFingerprintDialogFragment
. ( B/167951429 ) - Исправлена проблема, в которой был использован неправильный тип
CryptoObject
для вызова отражающего метода вBiometricManager
. ( B/165824669 ) - Исправлена проблема, в которой появилось
BiometricPrompt
вскоре после увольнения, вызвало автоматическое увольнение новой подсказки на некоторых устройствах Android 10. ( б/157783075 ) - Фиксированные утечки памяти, связанные с использованием
FingerprintManagerCompat
. ( B/165840273 ) - Исправлены проблемы с диалоговым интерфейсом отпечатков пальцев, спрятанным или неправильно показаны на некоторых устройствах Android 9. ( B/154868505 , B/148350291 )
Версия 1.1.0-Alpha02
19 августа 2020 г.
androidx.biometric:biometric:1.1.0-alpha02
выпускается. Версия 1.1.0-Alpha02 содержит эти коммиты.
Новые возможности
-
BiometricManager#canAuthenticate()
может теперь возвращатьBIOMETRIC_STATUS_UNKNOWN
, чтобы указать, что пользователь все еще может аутентифицировать, илиBIOMETRIC_ERROR_UNSUPPORTED
, чтобы указать, что заданная комбинация не поддерживается устройством. -
BiometricPrompt#authenticate()
теперь может использоваться для аутентификации учетных данных устройства с соответствующимCryptoObject
на Android 11 (API -уровне 30) и выше .
Изменения API
- Сделано необязательно предоставить явного
Executor
при построении экземпляраBiometricPrompt
. ( I6bb8a ) - Добавлен метод
BiometricManager#canAuthenticate(int)
от Android 11. ( IA3F1C ) - Обновленная
BiometricPrompt
для добавления поддержки дляBiometricManager.Authenticators
Уактивные константы от Android 11. ( i39bd8 ) - Добавлен метод
BiometricPrompt.AuthenticationResult#getAuthenticationType()
от Android 11. ( ICFAD5 ) - Добавлена
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
код ошибки от Android 11. ( i6610b ) - Обновлен
BiometricPrompt.CryptoObject
для поддержкиIdentityCredential
на Android 11 (API -уровне 30) и выше . ( I1d9f6 )
Исправление ошибок
- Фиксированные утечки памяти, сообщаемые Leakcanare в
BiometricFragment
иBiometricViewModel
. ( B/144919472 ) - Гарантировал, что
BiometricViewModel
больше не будет вызыватьMutableLiveData#setValue()
из фонового потока. ( B/159983244 ) - Исправлена проблема, в которой
BiometricPrompt
неправильно обрабатывал временную блокировку на некоторых уровнях API. ( 9ACFCE9 ) - Исправлена проблема, в которой
BiometricPrompt
вернет неправильный код ошибки для устройства, не защищенного с помощью учетных данных блокировки экрана на некоторых уровнях API. ( B/148626482 ) - Исправлена проблема, в которой
BiometricManager
иBiometricPrompt
вернут неверные коды ошибок для устройства без реализации Keyguard на некоторых уровнях API. ( 891c6e0 )
Версия 1.1.0-Alpha01
24 июня 2020 г.
androidx.biometric:biometric:1.1.0-alpha01
. Версия 1.1.0-Alpha01 содержит эти коммиты.
Новые возможности
- Рефактировал реализацию внутренней библиотеки для решения потенциальных источников утечек памяти и другого непреднамеренного поведения:
- Внутренние фрагменты теперь делятся и сохраняют данные, используя
ViewModel
, которая привязана к жизненному циклу активности клиентского приложения. - Аутентификация учетных данных устройства до Android 10 (API -уровне 29) больше не начинает прозрачную деятельность в клиентском приложении.
- Внутренние фрагменты теперь делятся и сохраняют данные, используя
Исправление ошибок
- Решенные предупреждения об испаке, связанные с использованием
FingerprintManagerCompat
. ( B/142967618 ) - Изменено, как вызываются методы платформы, управляемые SDK, чтобы избежать проблем проверки класса на старых версиях Android. ( 94beb4b )
- Зависимости градл, которые не являются частью публичного API, больше не экспортируются библиотекой. ( F289D9E )
Версия 1.0.1
Версия 1.0.1
18 декабря 2019 г.
androidx.biometric:biometric:1.0.1
выпускается. Версия 1.0.1 содержит эти коммиты .
Исправления ошибок
- Распространение существующего обходного пути отпечатков отпечатков пальцев для аутентификации на основе крипто-известных пострадавших, а также ограничивая его API 28 ( B/143361271 )
- Исправлена проблема на определенных устройствах, где биометрический диалог был показан при системном наложении ( B/143230260 )
- Исправлено несколько вопросов с
setDeviceCredentialAllowed(true)
( B/143091227 , B/143097321 , B/143653944 ) - Исправлена проблема в определенных версиях Android, где
onAuthenticationSuccess
не всегда вызывалось после того, как пользователь подтвердил учетные данные устройства ( B/145232806 ) - Исправлена проблема с определенными версиями Android, где
onAuthenticationError
не всегда называлась, когда подсказка была отклонена при ротации ( B/145230042 ) - Исправлена проблема в определенных версиях Android, где призыв не была отклонена при получении определенных кодов ошибок ( B/143683687 )
- Исправлена потенциальная
NullPointerException
вBiometricFragment
( B/142599311 )
Версия 1.0.0
Версия 1.0.0
7 ноября 2019 г.
androidx.biometric:biometric:1.0.0
выпускается без изменений с 1.0.0-rc02
. Версия 1.0.0 содержит эти коммиты .
Основные особенности 1.0.0
- Версия совместимости API
BiometricPrompt
иBiometricManager
, как реализовано в Android 10, с полной поддержкой функций обратно в Android 6.0 (API 23) - Встроенное управление жизненным циклом для
BiometricPrompt
в рамкахFragment
илиFragmentActivity
- Специальная обработка для устройств, известно, неправильно представляет слабую биометрию во время крипто-аутентификации
Версия 1.0.0-RC02
23 октября 2019 г.
androidx.biometric:biometric:1.0.0-rc02
выпускается. Версия 1.0.0-RC02 содержит эти коммиты .
Исправления ошибок
- Добавлен обходной путь для определенных устройств, которые, как известно, неверно обеспечивают слабую биометрическую, когда на крипто-аутентификации вызывается версии API 28 и 29 ( B/142150327 )
Версия 1.0.0-RC01
9 октября 2019 г.
androidx.biometric:biometric:1.0.0-rc01
выпускается. Версия 1.0.0-RC01 содержит эти коммиты .
Исправления ошибок
- Исправлена потенциальная сбоя с
FingerprintDialogFragment
при увольнении при его увольнении во время вращения экрана ( B/141356362 ) - Исправлена проблема, в которой получение нулевой
AuthenticationResult
из фреймворчатого API может вызвать аварию ( B/138862251 ) - Фиксированные аварии, вызванные
BiometricPrompt
, увольняются послеonSaveInstanceState()
( B/138825362 , B/140447194 )
Версия 1.0.0-бета02
18 сентября 2019 г.
androidx.biometric:biometric:1.0.0-beta02
выпускается. Версия 1.0.0-BETA02 содержит эти коммиты .
Исправления ошибок
- Исправленные проблемы с поддержкой учетных данных устройства в версии
1.0.0-beta01
- Удаленные зависимости Java 8 и переключаться на в зависимости от Java 7 ( B/140508526 )
-
FingerprintHelperFragment
теперь правильно выбрасываетERROR_HW_NOT_PRESENT
, когда не обнаруживается оборудования отпечатков пальцев ( B/140427586 )
Версия 1.0.0-бета01
29 августа 2019 г.
androidx.biometric:biometric:1.0.0-beta01
выпускается. Версия 1.0.0-BETA01 содержит эти коммиты .
Новые возможности
Мы представили второй конструктор для BiometricPrompt, который позволяет его размещать в фрагменте (в отличие от существующего конструктора, который требует фрагментирования).
Мы также рады принести следующую функциональность от Android 10 до библиотеки Androidx:
-
BiometricManager#canAuthenticate
-
BiometricPrompt.PromptInfo#setConfirmationRequired
-
BiometricPrompt.PromptInfo#setDeviceCredentialAllowed
На Android 10 библиотека вызовет соответствующие методы из API платформы. На более старых уровнях API библиотека подражает поведению.
API меняется
- Добавлен специфичный для фрагмента конструктор для биометрической подсказки ( B/131980596 )
- Смотрите раздел «Новые функции» выше.
Исправления ошибок
- Добавить поддержку учетных данных BiometricPrompt Device для L+
- Фиксированный биометрический продукт для использования констант публичной ошибки ( B/137788194 )
- Исправлена
NullPointerException
вBiometricPrompt.onAttach()
( B/136103103 ) - Измененное поведение, чтобы не позволить биометрическому профмоптмену отменены с помощью события при привлечении ( B/135684487 )
- Исправлено, что в котлине возвращается значение с аварией в сборе.
- Fingerprintdialogfragment в настоящее время способен стилем ( B/127878106 )
- Fingerprintdialog теперь закручивается ( B/126367887 )
- Исправлена ошибка, когда вращение биометрического диалога повышает
IllegalStateException
( B/124153656 ), ( B/123811924 ) - Фиксированное противоречивое поведение на уровнях API 23-27. ( B/124066957 )
- Исправлена проблема, где диалоговое окно входа в систему отпечатков пальцев. Читать неправильный текст с использованием Talkback. ( B/123572331 )
Версия 1.0.0-Alpha04
3 апреля 2019 г.
androidx.biometric:biometric:1.0.0-alpha04
выпускается. Коммуты, включенные в эту версию, можно найти здесь .
Исправления ошибок
- Фиксированные биометрические фрагменты не очищаются во всех случаях. ( B/121117380 )
- Фиксированная
BiometricPrompt
позволяет только один экземплярBiometricPrompt.AuthenticationCallback
( b/123857949 ) - Фиксированное поведение ошибок
BiometricPrompt
, несовместимое между версиями системы и Compat. ( B/123572326 ) - Фиксированный обратный вызов
onAuthenticationError()
с@NotNull errString
вызываетNullPointerException
во время выполнения ( B/123167217 ) - Исправлено
androidx.BiometricPrompt
кнопка отмены сбои ( b/122054485 ) - Фиксированный
androidx.biometric.PromptInfo
заголовок/описание не изменено на Android P ( B/122856773 )
Версия 1.0.0-Alpha03
17 декабря 2018 г.
Исправления ошибок
- Фиксированные проблемы, связанные с фрагментом
- На устройствах o и старше ошибки блокировки возвращаются немедленно, чтобы соответствовать P и выше
Биометрический
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
---|---|---|---|---|
20 мая 2025 г. | 1.1.0 | - | - | 1.4.0-Альфа04 |
Объявление зависимостей
Чтобы добавить зависимость от биометрической, вы должны добавить репозиторий Google Maven в свой проект. Прочитайте репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для артефактов, которые вам нужны в файле build.gradle
для вашего приложения или модуля:
классный
dependencies { // Java language implementation implementation "androidx.biometric:biometric:1.1.0" // Kotlin implementation "androidx.biometric:biometric-ktx:1.4.0-alpha02" }
Котлин
dependencies { // Java language implementation implementation("androidx.biometric:biometric:1.1.0") // Kotlin implementation("androidx.biometric:biometric:1.4.0-alpha02") }
Для получения дополнительной информации о зависимостях см. Добавить зависимости от сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 1.4
Версия 1.4.0-Alpha04
20 мая 2025 г.
androidx.biometric:biometric:1.4.0-alpha04
. Версия 1.4.0-Alpha04 содержит эти коммиты .
Новые возможности
- Всегда используйте API
KeyguardManager
Internal для приложений Wear ( i9b7fd )
Изменения API
- Добавьте привилегированный аутентификатор бит
IDENTITY_CHECK
( i706bb )
Версия 1.4.0-Alpha03
26 марта 2025 г.
androidx.biometric:biometric:1.4.0-alpha03
выпускается. Версия 1.4.0-Alpha03 содержит эти коммиты .
Новые возможности
- Представил новый API API API для замены
androidx.biometric:biometric-ktx
registerForAuthenticationResult()
иandroidx.BiometricPrompt
. Этот новый API моделируется после API результата активности и обеспечивает беспроблемную совместимость с развитием Kotlin и Java.
Изменения API
- Rename
ERROR_MORE_OPTIONS_BUTTON
toERROR_CONTENT_VIEW_MORE_OPTIONS_BUTTON
( i71d07 ) - Добавьте
@Deprecated
аннотацию дляIdentityCredential
, чтобы сохранить соответствие структуре. ( I6ac90 , b/140252778 , b/217942278 , b/251211046 , b/239955609 ) - [1/3] Удалите библиотеку Biometric.auth и Kotlin, которая будет перепроектирована. ( I2f67c )
- [2/3] Добавьте
AuthenticationRequest
в качестве ввода аутентификации иAuthenticationResult
как тип результата аутентификации. Есть два видаAuthenticationRequest
, со строителями. ( I50fd9 )-
BiometricRequest
для биометрической аутентификации с различнойStrength
и необязательнымFallback
. -
CredentialRequest
для аутентификации только для учетных данных.
-
- [3/3] Добавьте новые API-интерфейсы-паттерны для биометрического модуля. В частности, добавьте API регистрации с именем
registerForAuthenticationResult()
, который регистрируетAuthenticationResultCallback
, и дополнительнуюonAuthenticationFailedCallback
и приводит к результатуAuthenticationResultLauncher
, чтобы начать аутентификацию со всеми входом. ( I2b06e )
Исправление ошибок
- В этой библиотеке теперь используются аннотации Nullness , которые являются типовым использованием. Разработчики Kotlin должны использовать следующий аргумент компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict
(это по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( IB49B4 , B/326456246 ) - Исправлена проблема с тем, чтобы быть неспособным создать фрагмент
androidx.biometric.FingerprintDialogFragment
. ( I51c4a , b/181805603 ) - Исправлена проблема, в которой
BiometricPrompt
не отклоняется, когда нажата кнопка «Домой устройства». ( I8c393 , i0ca8c , b/149770989 ) - Исправленные несоответствия кода ошибки для отключения биометрического приложения AUTH на API 34/35. ( ICE99D , B/386918213 )
- Применить принуждение сильной биометрии на более старых устройствах для комбинированных аутентификаторов. ( IBB853 , I5CFB3 , B/257670132 )
Версия 1.4.0-Alpha02
7 августа 2024 г.
androidx.biometric:biometric:1.4.0-alpha02
и androidx.biometric:biometric-ktx:1.4.0-alpha02
выпускаются. Версия 1.4.0-Alpha02 содержит эти коммиты .
Новые возможности
-
PromptContentView
позволяет разработчикам отображать пользовательское представление содержимого в виде дополнительного параметра простого описания текстового просмотра - Показан логотип приложения по биометрической подсказке - автоматически добавлен с использованием значка приложения.
Изменения API
- Добавить API для поддержки представления пользовательского контента
-
BiometricPrompt.PromptInfo.Builder#setContentView
-
BiometricPrompt.PromptInfo#getContentView
-
PromptContentView
Interface -
PromptVerticalListContentView
Class -
PromptContentViewWithMoreOptionsButton
Class (только для привилегированных приложений)
-
- Добавьте API для поддержки логотипа (только для привилегированных приложений)
-
BiometricPrompt.PromptInfo.Builder#setLogoBitmap
-
BiometricPrompt.PromptInfo.Builder#setLogoRes
-
BiometricPrompt.PromptInfo.Builder#setLogoDescription
-
BiometricPrompt.PromptInfo#getLogoBitmap
-
BiometricPrompt.PromptInfo#getLogoRes
-
BiometricPrompt.PromptInfo#getLogoDescription
58C35C6
-
Исправление ошибок
- Обновление
compileSdk
до 35 5DC41BE
Версия 1.4.0-Alpha01
29 мая 2024 г.
androidx.biometric:biometric:1.4.0-alpha01
и androidx.biometric:biometric-ktx:1.4.0-alpha01
. Эта версия разработана во внутренней ветви и нацелена на Android 15 Beta 2.
Исправление ошибок
- Обновление пользовательского интерфейса, чтобы соответствовать изменениям платформы в Android 15
Версия 1.2.0
Версия 1.2.0-Alpha05
21 сентября 2022 г.
androidx.biometric:biometric:1.2.0-alpha05
и androidx.biometric:biometric-ktx:1.2.0-alpha05
выпускаются. Версия 1.2.0-Alpha05 содержит эти коммиты.
Изменения API
- Добавлена поддержка
CryptoObject
дляandroid.security.identity.PresentationSession
в Android 13. ( C5F1EC , B/1979655513 )
Исправление ошибок
- Удалили ненужные варианты ресурсов для уменьшения размера библиотеки. ( I3601e , b/220178553 )
- Фиксированная проблема для
BiometricPrompt
, размещенных в неактивных контекстах. ( IFE255 )
Версия 1.2.0-Alpha04
17 ноября 2021 г.
androidx.biometric:biometric:1.2.0-alpha04
и androidx.biometric:biometric-ktx:1.2.0-alpha04
. Версия 1.2.0-Alpha04 содержит эти коммиты.
Новые возможности
- Улучшенная поддержка биометрических продуктов для фрагментов, которые размещаются в неактивных контекстах ( I9312B )
Изменения API
- Добавлена поддержка Android 12 BiometricManager.Strings API ( I12F2D )
- Измененная совместимость цели и источника от Java 7 на Java 8 ( I16129 )
Исправление ошибок
- Исправлена проблема на API 29, где некоторые устройства (включая эмуляторы) получат ошибку отмены при возвращении к PIN/PENT/PARLESST. Обратите внимание, что для некоторых устройств на API 29 это может привести к тому, что пользователя будет предложено для их блокировки экрана, даже если биометрика доступна и зарегистрирована. ( B/142740104 )
- Исправлена проблема на API 29, где устройства без биометрического оборудования не будут правильно возвращаться к PIN/PATER/PASSWER ( B/170517889 )
Версия 1.2.0-Alpha03
24 февраля 2021 г.
androidx.biometric:biometric:1.2.0-alpha03
и androidx.biometric:biometric-ktx:1.2.0-alpha03
. Версия 1.2.0-Alpha03 содержит эти коммиты.
Изменения API
- Добавлены приостановленные расширения Coroutine для CredentialAuthPrompt, аналогичные тем, которые существуют для других типов Authprompt. ( I9ac70 )
Версия 1.2.0-Alpha02
27 января 2021 г.
androidx.biometric:biometric:1.2.0-alpha02
и androidx.biometric:biometric-ktx:1.2.0-alpha02
. Версия 1.2.0-Alpha02 содержит эти коммиты.
Изменения API
- Рефакторировал некоторые поля
AuthPrompt
, которые ранее были установлены через строитель в Arproments MethodstartAuthentication(...)
. ( 18896 , B/174098373 ) - Добавлены минимальные требования уровня API для типов
AuthPrompt
с ограниченной поддержкой или без поддержки в старых версиях Android. ( 18896 ) - Добавлены методы Getter для всех полей
AuthPrompt
, которые установлены через строитель. ( 18896 ) - Добавлены приостановленные расширения Kotlin Coroutine для биометрической аутентификации с помощью API
AuthPrompt
. Эти функции возвращаютAuthenticationResult
непосредственно при успехе или выбросят исключение по ошибке или сбое (отклонение учетных данных). ( Iffc9e )
Исправление ошибок
- Исправлена проблема, в которой
BiometricManager.canAuthenticate(int)
иногда возвращает неправильный код состояния для устройства с датчиком отпечатков пальцев на Android 10 (API -уровне 29). ( I72420 , B/176921662 ) - Исправлена проблема, в которой
BiometricManager.canAuthenticate(int)
вернет неправильный код состояния для устройства без биометрического оборудования и без зарегистрированного PIN -кода, шаблона или пароля на Android 10 (уровень API 29) и предыдущие версии SDK. ( I79b7d , b/174505824 ) - Исправлена утечка памяти, которая возникнет, когда
BiometricPrompt
была размещена в фрагменте с более коротким жизненным циклом, чем связанная с ним активность. ( I70864 , B/167014923 )
Версия 1.2.0-Alpha01
2 декабря 2020 г.
androidx.biometric:biometric:1.2.0-alpha01
и androidx.biometric:biometric-ktx:1.2.0-alpha01
. Версия 1.2.0-Alpha01 содержит эти коммиты.
Новые возможности
- Представил модуль
androidx.biometric:biometric-ktx
, который добавляет, специфичные для котлин API и расширения поверхandroidx.biometric:biometric
.
Изменения API
- Добавлено новые API
AuthPrompt
для построенияBiometricPrompt
и выполнения аутентификации. Эти API не требуют, чтобыBiometricPrompt
был построен в раннем обратном вызове жизненного цикла, такой какonCreate
. ( I19022 ) - Добавлены расширения котлина к
Fragment
иFragmentActivity
для новых APIAuthPrompt
. ( Iaf98c )
Версия 1.1.0
Версия 1.1.0
27 января 2021 г.
androidx.biometric:biometric:1.1.0
выпускается. Версия 1.1.0 содержит эти коммиты.
Основные изменения с 1.0.0
- Добавлена обратная совместимая поддержка новых функций биометрической аутентификации и обновлений API, представленных в Android 11.
- Значительно уменьшило площадь размера приложения библиотеки (в некоторых случаях> 100 т.п.н.).
- Удалили различные источники утечек памяти, которые ранее были вызваны библиотекой.
- Фиксированные сбои проверки класса, которые могут повлиять на производительность на старых версиях Android.
- Сделал различные дополнительные улучшения для стабильности и поведения библиотеки.
Версия 1.1.0-RC01
11 ноября 2020 г.
androidx.biometric:biometric:1.1.0-rc01
выпускается. Версия 1.1.0-RC01 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема на некоторых устройствах, где определенные действия (аутентификация, отмена и т. Д.) Иногда бросают
NullPointerException
. ( B/151316421 ) - Исправлена проблема, в которой некоторые пиксельные устройства сообщили бы об неправильном статусе при использовании
BiometricManager#canAuthenticate(int)
для проверки биометрии класса 3 на Android 10. ( B/170406186 )
Версия 1.1.0-бета01
1 октября 2020 г.
androidx.biometric:biometric:1.1.0-beta01
выпускается. Версия 1.1.0-beta01 содержит эти коммиты.
Новые возможности
- Значительно уменьшило площадь APK размер библиотеки (в некоторых случаях сжатым> 100 т.п.н.), заменив диалоговые анимации на статические активы на Android 8.1 и ранее. ( I4844e )
-
BiometricPrompt
теперь автоматически возвращается к аутентификации учетных данных устройства (если разрешена) на всех поддерживаемых версиях Android, когда биометрическая аутентификация заблокирована. ( B/149579143 )
Исправление ошибок
- Исправлена проблема, в которой
BiometricPrompt
вызвал сбой на некоторых устройствах Android 9 без датчика отпечатков пальцев. ( B/151443237 ) - Исправлена потенциальная
NullPointerException
вFingerprintDialogFragment
. ( B/167951429 ) - Исправлена проблема, в которой был использован неправильный тип
CryptoObject
для вызова отражающего метода вBiometricManager
. ( B/165824669 ) - Исправлена проблема, в которой появилось
BiometricPrompt
вскоре после увольнения, вызвало автоматическое увольнение новой подсказки на некоторых устройствах Android 10. ( B/157783075 ) - Фиксированные утечки памяти, связанные с использованием
FingerprintManagerCompat
. ( B/165840273 ) - Исправлены проблемы с диалоговым интерфейсом отпечатков пальцев, спрятанным или неправильно показаны на некоторых устройствах Android 9. ( B/154868505 , B/148350291 )
Версия 1.1.0-Alpha02
19 августа 2020 г.
androidx.biometric:biometric:1.1.0-alpha02
выпускается. Версия 1.1.0-Alpha02 содержит эти коммиты.
Новые возможности
-
BiometricManager#canAuthenticate()
may now returnBIOMETRIC_STATUS_UNKNOWN
to indicate that the user may still be able to authenticate, orBIOMETRIC_ERROR_UNSUPPORTED
to indicate that a given authenticator combination is not supported by the device. -
BiometricPrompt#authenticate()
may now be used for device credential authentication with an associatedCryptoObject
on Android 11 (API level 30) and above only .
Изменения API
- Made it optional to provide an explicit
Executor
when constructing an instance ofBiometricPrompt
. ( I6bb8a ) - Added the
BiometricManager#canAuthenticate(int)
method from Android 11. ( Ia3f1c ) - Updated
BiometricPrompt
to add support forBiometricManager.Authenticators
constants from Android 11. ( I39bd8 ) - Added the
BiometricPrompt.AuthenticationResult#getAuthenticationType()
method from Android 11. ( Icfad5 ) - Added the
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
error code from Android 11. ( I6610b ) - Updated
BiometricPrompt.CryptoObject
to supportIdentityCredential
on Android 11 (API level 30) and above only . ( I1d9f6 )
Исправление ошибок
- Fixed memory leaks reported by LeakCanary in
BiometricFragment
andBiometricViewModel
. ( b/144919472 ) - Ensured that
BiometricViewModel
will no longer callMutableLiveData#setValue()
from a background thread. ( b/159983244 ) - Fixed an issue where
BiometricPrompt
was not correctly handling temporary lockout on some API levels. ( 9acfce9 ) - Fixed an issue where
BiometricPrompt
would return the wrong error code for a device not secured with a screen lock credential on some API levels. ( b/148626482 ) - Fixed an issue where
BiometricManager
andBiometricPrompt
would return the wrong error codes for a device with no keyguard implementation on some API levels. ( 891c6e0 )
Version 1.1.0-alpha01
24 июня 2020 г.
androidx.biometric:biometric:1.1.0-alpha01
is released. Version 1.1.0-alpha01 contains these commits.
Новые возможности
- Refactored the internal library implementation to address potential sources of memory leaks and other unintended behavior:
- Internal fragments now share and persist data using a
ViewModel
that is tied to the client application's activity lifecycle. - Device credential authentication prior to Android 10 (API level 29) no longer starts a transparent activity within the client application.
- Internal fragments now share and persist data using a
Исправление ошибок
- Resolved deprecation warnings related to the use of
FingerprintManagerCompat
. ( b/142967618 ) - Changed how SDK-gated platform methods are called to avoid class verification issues on older Android versions. ( 94beb4b )
- Gradle dependencies that are not part of the public API are no longer exported by the library. ( f289d9e )
Версия 1.0.1
Версия 1.0.1
18 декабря 2019 г.
androidx.biometric:biometric:1.0.1
is released. Version 1.0.1 contains these commits .
Исправления ошибок
- Extended the existing fingerprint fallback workaround for crypto-based authentication to known affected vendors, while also limiting it to API 28 ( b/143361271 )
- Fixed an issue on certain devices where the biometric dialog was shown under a system overlay ( b/143230260 )
- Fixed several issues with
setDeviceCredentialAllowed(true)
( b/143091227 , b/143097321 , b/143653944 ) - Fixed an issue on certain Android versions where
onAuthenticationSuccess
was not always called after the user confirmed their device credential ( b/145232806 ) - Fixed an issue on certain Android versions where
onAuthenticationError
was not always called when the prompt was dismissed on rotation ( b/145230042 ) - Fixed an issue on certain Android versions where the prompt was not dismissed when receiving certain error codes ( b/143683687 )
- Fixed a potential
NullPointerException
inBiometricFragment
( b/142599311 )
Версия 1.0.0
Версия 1.0.0
7 ноября 2019 г.
androidx.biometric:biometric:1.0.0
is released with no changes since 1.0.0-rc02
. Version 1.0.0 contains these commits .
Major features of 1.0.0
- Compatibility version of the
BiometricPrompt
andBiometricManager
APIs, as implemented in Android 10, with full feature support back to Android 6.0 (API 23) - Built-in lifecycle management for
BiometricPrompt
within aFragment
orFragmentActivity
- Special handling for devices known to incorrectly present weak biometrics during crypto-based authentication
Version 1.0.0-rc02
23 октября 2019 г.
androidx.biometric:biometric:1.0.0-rc02
is released. Version 1.0.0-rc02 contains these commits .
Исправления ошибок
- Added a workaround for certain devices that are known to incorrectly provide a weak biometric when crypto-based authentication is invoked on API versions 28 and 29 ( b/142150327 )
Version 1.0.0-rc01
9 октября 2019 г.
androidx.biometric:biometric:1.0.0-rc01
is released. Version 1.0.0-rc01 contains these commits .
Исправления ошибок
- Fixed a potential crash with
FingerprintDialogFragment
when dismissing it while the screen is rotating ( b/141356362 ) - Fixed an issue where receiving a null
AuthenticationResult
from the framework API could cause a crash ( b/138862251 ) - Fixed crashes caused by
BiometricPrompt
being dismissed afteronSaveInstanceState()
( b/138825362 , b/140447194 )
Version 1.0.0-beta02
18 сентября 2019 г.
androidx.biometric:biometric:1.0.0-beta02
is released. Version 1.0.0-beta02 contains these commits .
Исправления ошибок
- Fixed issues with device credential support in version
1.0.0-beta01
- Removed Java 8 dependencies and switched to depending on Java 7 ( b/140508526 )
-
FingerprintHelperFragment
now correctly throwsERROR_HW_NOT_PRESENT
when no fingerprint hardware is detected ( b/140427586 )
Version 1.0.0-beta01
29 августа 2019 г.
androidx.biometric:biometric:1.0.0-beta01
is released. Version 1.0.0-beta01 contains these commits .
Новые возможности
We've introduced a second constructor for BiometricPrompt that allows it to be hosted in a Fragment (as opposed to the existing constructor, which requires a FragmentActivity).
We're also excited to bring the following functionality from Android 10 to the AndroidX Biometric library:
-
BiometricManager#canAuthenticate
-
BiometricPrompt.PromptInfo#setConfirmationRequired
-
BiometricPrompt.PromptInfo#setDeviceCredentialAllowed
On Android 10, the library will invoke the corresponding methods from the platform API. On older API levels, the library will emulate the behavior.
API changes
- Added fragment-specific constructor for biometric prompt ( b/131980596 )
- See the “New features” section above.
Исправления ошибок
- Add BiometricPrompt device credential support for L+
- Fixed BiometricPrompt to use public error constants ( b/137788194 )
- Fix
NullPointerException
inBiometricPrompt.onAttach()
( b/136103103 ) - Changed behavior to not allow BiometricPrompt to be cancelled by a touch event outside the prompt ( b/135684487 )
- Fixed onAuthenticationError crash when a null error value is returned in Kotlin ( b/128350861 )
- FingerprintDialogFragment is now style-able ( b/127878106 )
- FingerprintDialog is now scrollable ( b/126367887 )
- Fixed bug where rotating the biometric dialog raises an
IllegalStateException
( b/124153656 ), ( b/123811924 ) - Fixed inconsistent behavior on API Levels 23 to 27. ( b/124066957 )
- Fixed issue where Fingerprint Login Dialog read incorrect text using Talkback. ( b/123572331 )
Version 1.0.0-alpha04
3 апреля 2019 г.
androidx.biometric:biometric:1.0.0-alpha04
is released. The commits included in this version can be found here .
Исправления ошибок
- Fixed Biometric fragments don't clean up in all cases. ( b/121117380 )
- Fixed
BiometricPrompt
only allows one instance ofBiometricPrompt.AuthenticationCallback
( b/123857949 ) - Fixed
BiometricPrompt
error behavior inconsistent between system and compat versions. ( b/123572326 ) - Fixed callback
onAuthenticationError()
with@NotNull errString
causesNullPointerException
at runtime ( b/123167217 ) - Fixed
androidx.BiometricPrompt
Cancel button Crashes ( b/122054485 ) - Fixed
androidx.biometric.PromptInfo
title/description not changed on Android P ( b/122856773 )
Version 1.0.0-alpha03
17 декабря 2018 г.
Исправления ошибок
- Fixed fragment-related issues
- On devices O and older, lockout errors are returned immediately to be consistent with P and above