NEWEST FOR API 28
AndroidManifest.xml
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
Теперь вы можете использовать:
val executor = activity.mainExecutor
val cancelListener = DialogInterface.OnClickListener { _, _ -> })
val biometricPrompt = BiometricPrompt.Builder(context)
.setTitle("Title")
.setSubtitle("Subtitle")
.setDescription("Description")
.setNegativeButton("Cancel", executor, cancelListener)
.build()
СЛЕДУЮЩИЙ КОД ДЛЯ ВЕРСИИ НИЖЕ, ЧЕМ API 28
Этот класс устарел на уровне API 28. Смотри BiometricPrompt, который показывает системный диалог при запускеаутентификация.В мире, где устройства могут иметь разные типы биометрической аутентификации, гораздо более реалистично иметь диалоговое окно аутентификации, предоставляемое системой, поскольку метод может различаться в зависимости от поставщика / устройства.
Я рекомендую вам прочитать эту ветку:
Как добавить проверку подлинности по отпечатку пальца в ваше приложение для Android
Также следуйте этой другой теме:
Как проверить совместимость устройства дляАутентификация по отпечатку пальца в Android
Вы должны добавить зависимость в свой файл 'gradle'
compile "com.android.support:support-v4:23.0.0"
В принципе, если я правильно понял ваш вопрос, вы хотите знать, еслиУстройство имеет аппаратное обеспечение и функции отпечатков пальцев.Тогда вы можете использовать:
// Check if we're running on Android 6.0 (M) or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//Fingerprint API only available on from Android 6.0 (M)
FingerprintManager fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
if (!fingerprintManager.isHardwareDetected()) {
// Device doesn't support fingerprint authentication
} else if (!fingerprintManager.hasEnrolledFingerprints()) {
// User hasn't enrolled any fingerprints to authenticate with
} else {
// Everything is ready for fingerprint authentication
}
}
Не забудьте добавить разрешение на доступ к функциям отпечатков пальцев в AndroidManifest.Начиная с API 28:
<uses-permission android:name=" android.permission.USE_BIOMETRIC" />
До API28:
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
Надеюсь, это поможет вам.