Биометрический
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
26 марта 2025 г. | 1.1.0 | - | - | 1.4.0-альфа03 |
Объявление зависимостей
Чтобы добавить зависимость от 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 лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см. в документации по системе отслеживания проблем .
Версия 1.4
Версия 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 результатов деятельности и обеспечивает полную совместимость с разработкой на Kotlin и Java.
Изменения API
- Переименуйте
ERROR_MORE_OPTIONS_BUTTON
вERROR_CONTENT_VIEW_MORE_OPTIONS_BUTTON
( I71d07 ). - Добавьте аннотацию
@Deprecated
дляIdentityCredential
, чтобы обеспечить соответствие инфраструктуре. ( I6ac90 , б/140252778 , б/217942278 , б/251211046 , б/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 )
Исправления ошибок
- Эта библиотека теперь использует аннотации NULL JSpecify , которые являются типизированными. Разработчики Kotlin должны использовать следующие аргументы компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict
,-Xtype-enhancement-improvements-strict-mode
( Ib49b4 , b/326456246 ). - Исправлена ошибка, из-за которой невозможно было создать экземпляр фрагмента
androidx.biometric.FingerprintDialogFragment
. ( I51c4a , б / 181805603 ) - Исправлена проблема, из-за которой
BiometricPrompt
не закрывался при нажатии кнопки «Домой» на устройстве. ( I8c393 , I0ca8c , б/149770989 ) - Исправлены несоответствия кода ошибки при отключении биометрической аутентификации приложения в API 34/35. ( Ice99d , б/386918213 )
- Примените принудительное использование строгих биометрических данных на старых устройствах и к комбинированным средствам аутентификации. ( Ibb853 , I5cfb3 , б/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 , б / 220178553 )
- Исправлена проблема с
BiometricPrompt
, размещенным в контекстах бездействия. ( Ифе255 )
Версия 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
- Добавлена поддержка Android 12 BiometricManager.Strings API ( I12f2d ).
- Изменена совместимость цели и источника с Java 7 на Java 8 ( I16129 ).
Исправления ошибок
- Исправлена проблема в API 29, из-за которой некоторые устройства (включая эмуляторы) получали ошибку отмены при возврате к PIN-коду/шаблону/паролю. Обратите внимание, что для некоторых устройств с API 29 это может привести к тому, что пользователю будет предложено заблокировать экран, даже если биометрические данные доступны и зарегистрированы. ( б / 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 , б / 174098373 ) - Добавлены требования к минимальному уровню API для типов
AuthPrompt
с ограниченной поддержкой или ее отсутствием в старых версиях Android. ( я18896 ) - Добавлены методы получения для всех полей
AuthPrompt
, заданных через построитель. ( я18896 ) - Добавлена приостановка расширений сопрограммы Kotlin для биометрической аутентификации через API
AuthPrompt
. Эти функции возвращаютAuthenticationResult
непосредственно в случае успеха или выдают исключение в случае ошибки или сбоя (отклонение учетных данных). ( Iffc9e )
Исправления ошибок
- Исправлена проблема, из-за которой
BiometricManager.canAuthenticate(int)
иногда возвращал неверный код состояния для устройства со сканером отпечатков пальцев на Android 10 (уровень API 29). ( I72420 , б/176921662 ) - Исправлена проблема, из-за которой
BiometricManager.canAuthenticate(int)
возвращал неверный код состояния для устройства без биометрического оборудования и зарегистрированного PIN-кода, шаблона или пароля в Android 10 (уровень API 29) и предыдущих версиях SDK. ( I79b7d , б/174505824 ) - Исправлена утечка памяти, которая могла возникнуть, если
BiometricPrompt
размещался во фрагменте с более коротким жизненным циклом, чем связанное с ним действие. ( I70864 , б / 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
. ( б / 151316421 ) - Исправлена проблема, из-за которой некоторые устройства Pixel сообщали неверный статус при использовании
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, когда биометрическая аутентификация заблокирована. ( б / 149579143 )
Исправления ошибок
- Исправлена проблема, из-за которой
BiometricPrompt
вызывал сбой на некоторых устройствах Android 9 без датчика отпечатков пальцев. ( б / 151443237 ) - Исправлено потенциальное
NullPointerException
вFingerprintDialogFragment
. ( б / 167951429 ) - Исправлена проблема, из-за которой неправильный тип
CryptoObject
использовался для рефлексивного вызова метода вBiometricManager
. ( б / 165824669 ) - Исправлена проблема, из-за которой повторный показ
BiometricPrompt
вскоре после закрытия приводил к автоматическому закрытию нового запроса на некоторых устройствах Android 10. ( б / 157783075 ) - Исправлены утечки памяти, связанные с использованием
FingerprintManagerCompat
. ( б / 165840273 ) - Исправлены проблемы, из-за которых пользовательский интерфейс диалогового окна отпечатка пальца был скрыт или некорректно отображался на некоторых устройствах Android 9. ( б / 154868505 , б / 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
. ( б / 144919472 ) - Гарантировано, что
BiometricViewModel
больше не будет вызыватьMutableLiveData#setValue()
из фонового потока. ( б / 159983244 ) - Исправлена проблема, из-за которой
BiometricPrompt
неправильно обрабатывал временную блокировку на некоторых уровнях API. ( 9acfce9 ) - Исправлена проблема, из-за которой
BiometricPrompt
возвращал неправильный код ошибки для устройства, не защищенного учетными данными блокировки экрана на некоторых уровнях API. ( б / 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
. ( б / 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-бета01
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. ( б / 123572331 )
Версия 1.0.0-альфа04
3 апреля 2019 г.
Выпущен androidx.biometric:biometric:1.0.0-alpha04
. Коммиты, включенные в эту версию, можно найти здесь .
Исправления ошибок
- Фиксированные фрагменты биометрии удаляются не во всех случаях. ( б / 121117380 )
- Исправленный
BiometricPrompt
допускает только один экземплярBiometricPrompt.AuthenticationCallback
( b/123857949 ). - Исправлено поведение ошибки
BiometricPrompt
, несовместимое между системной и совместимой версиями. ( б / 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 и выше.