Работал ли с биометрией в проектах

«Работал ли с биометрией в проектах» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал с биометрией на Android. Использовал BiometricPrompt API для аутентификации пользователей. Вот пример кода:

val biometricPrompt = BiometricPrompt(
    activity,
    ContextCompat.getMainExecutor(activity),
    object : BiometricPrompt.AuthenticationCallback() {
        override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
            // Успешная аутентификация
        }
        override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
            // Ошибка аутентификации
        }
    }
)

val promptInfo = BiometricPrompt.PromptInfo.Builder()
    .setTitle("Вход")
    .setSubtitle("Используйте отпечаток пальца")
    .setNegativeButtonText("Отмена")
    .build()

biometricPrompt.authenticate(promptInfo)

Также учитывал:

  1. Проверку доступности биометрии через BiometricManager
  2. Поддержку разных типов аутентификации (отпечаток, лицо)
  3. Fallback на PIN/пароль при необходимости