НОВИНКА ДЛЯ 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-приложение
Кроме того, следите за этой другой темой:
Как проверить совместимость устройства для аутентификации по отпечатку пальца в андроид
Вы должны добавить зависимость в свой файл «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" />
Надеюсь, это поможет вам.
person
MrMins
schedule
14.12.2018