生物识别库,目前仅支持指纹识别,计划实现面部识别。
关于指纹识别的详细介绍,请移步博客:Android 指纹识别,提升APP用户体验,从这里开始
注意:兼容 Android 6.0 及以上系统;某些 Android 6.0 以下系统的手机厂商会自行支持指纹识别,这种情况未做兼容。
-
支持指纹识别,兼容 Android 6.0 和 Android 9.0
-
提供界面友好的指纹识别弹窗,可自定义其样式
-
实现国际化(支持中文和英文)
图1、自定义指纹识别弹窗
图2、验证异常
图3、Android 9.0+,系统提供的指纹识别弹窗
dependencies {
implementation 'com.github.ZuoHailong:BiometricPrompt:1.0'
}
FingerprintVerifyManager.Builder builder = new FingerprintVerifyManager.Builder(MainActivity.this);
builder.callback(new FingerprintCallback()).build();
使用指纹识别功能,只需要关心 FingerprintVerifyManager 和 FingerprintCallback 两个类:
-
FingerprintVerifyManager 通过 Builder 初始化并管理指纹识别功能
-
FingerprintCallback 指纹识别监听,提供 onSucceeded()、onFailed()、onCancel()、onUsepwd() 、onNoneEnrolled()、onHwUnavailable() 六个回调方法
当用户取消指纹验证框时,回调 onCancel() 方法;
当用户选择密码验证时,回调 onUsepwd() 方法;
当手机上未添加指纹时,回调 onNoneEnrolled() 方法;
当硬件模块不可用时,回调 onHwUnavailable() 方法。
FingerprintVerifyManager.Builder builder = new FingerprintVerifyManager.Builder(Activity activity)
builder.callback(new FingerprintCallback())
builder.build()
builder.fingerprintColor(@ColorInt int color)
builder.cancelTextColor(@ColorInt int color)
builder.usepwdVisible(boolean isVisible)
builder.usepwdTextColor(@ColorInt int color)
builder.enableAndroidP(boolean enableAndroidP)
如果启用,在 Android 9.0 以下系统会使用自定义识别弹窗,在 Android 9.0+ 系统会使用系统识别弹窗。
builder.title(String title)
builder.subTitle(String subTitle)
builder.description(String description)
builder.cancelBtnText(String cancelBtnText)