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
在开始身份验证时显示系统提供的对话框。在一个
设备可能具有不同类型的生物特征的世界
身份验证,有系统提供的更现实
身份验证对话框,因为方法可能因供应商/设备而异。
我建议您阅读此主题:
How to add fingerprint authentication to your Android app
另外,请关注其他线程:
How to check device compatibility for finger print authentication in 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" />
希望对你有帮助。