Биометрический

Аутентификация с использованием биометрических данных или учетных данных устройства, а также выполнение криптографических операций.
Последнее обновление Стабильный релиз Кандидат на релиз Бета-релиз Альфа-релиз
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 )
    1. BiometricRequest для биометрической аутентификации с различной Strength и опциональным Fallback .
    2. 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 для новых API AuthPrompt . ( 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

Исправление ошибок

  • Исправлены утечки памяти, о которых сообщил 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:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. 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 )
    1. BiometricRequest для биометрической аутентификации с различной Strength и опциональным Fallback .
    2. 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 для новых API AuthPrompt . ( 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

Исправление ошибок

  • Исправлены утечки памяти, о которых сообщил 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:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. 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 to 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 )
    1. BiometricRequest для биометрической аутентификации с различной Strength и необязательным Fallback .
    2. 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 Method startAuthentication(...) . ( 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 для новых API AuthPrompt . ( 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

Исправление ошибок

  • Фиксированные утечки памяти, сообщаемые 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:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. 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 to 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 )
    1. BiometricRequest для биометрической аутентификации с различной Strength и необязательным Fallback .
    2. 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 Method startAuthentication(...) . ( 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 для новых API AuthPrompt . ( 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 return BIOMETRIC_STATUS_UNKNOWN to indicate that the user may still be able to authenticate, or BIOMETRIC_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 associated CryptoObject on Android 11 (API level 30) and above only .

Изменения API

Исправление ошибок

  • Fixed memory leaks reported by LeakCanary in BiometricFragment and BiometricViewModel . ( b/144919472 )
  • Ensured that BiometricViewModel will no longer call MutableLiveData#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 and BiometricPrompt 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.

Исправление ошибок

  • 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 in BiometricFragment ( 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 and BiometricManager APIs, as implemented in Android 10, with full feature support back to Android 6.0 (API 23)
  • Built-in lifecycle management for BiometricPrompt within a Fragment or FragmentActivity
  • 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 after onSaveInstanceState() ( 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 throws ERROR_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:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. 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 in BiometricPrompt.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 of BiometricPrompt.AuthenticationCallback ( b/123857949 )
  • Fixed BiometricPrompt error behavior inconsistent between system and compat versions. ( b/123572326 )
  • Fixed callback onAuthenticationError() with @NotNull errString causes NullPointerException 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