Android的指纹API是Android 6.0(API级别23)引入的一套新API,允许开发人员使用用户设备上的指纹传感器进行身份验证。它是Android硬件抽象层(HAL)和Framework API之间的一部分。
以下是使用Android指纹API的基本步骤:
- 首先需要检查设备是否支持指纹扫描。这可以通过调用
FingerprintManager.isHardwareDetected()
实现。 - 其次,需要检查用户是否已在设备上设置指纹。这可以通过
FingerprintManager.hasEnrolledFingerprints()
实现。 - 然后,需要在用户尝试使用指纹扫描时,弹出一个对话框,并显示应用需要指纹权限的说明。这可以使用
FingerprintManager.AuthenticationCallback
实现。 - 在
AuthenticationCallback
中,主要处理回调函数 onAuthenticationSucceeded, onAuthenticationFailed, onAuthenticationError, onAuthenticationHelp。来处理各种指纹扫描的结果。 - 提供一个
CancellationSignal
消息,允许用户取消指纹扫描的尝试,当用户触及Cancel按钮时停止扫描。 - 调用
FingerprintManager.authenticate()
开始指纹认证。
实例代码:

if (!fingerprintManager.isHardwareDetected()) {
// 设备不支持指纹功能
} else if (!fingerprintManager.hasEnrolledFingerprints()) {
// 用户未录入指纹
} else {
// 开始指纹认证
fingerprintManager.authenticate(null, cancellationSignal, 0, new FingerprintManager.AuthenticationCallback() {
@Override
public void onAuthenticationError(int errorCode, CharSequence errString) {
// 认证错误
}
@Override
public void onAuthenticationHelp(int helpCode, CharSequence helpString) {
// 提供帮助
}
@Override
public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) {
// 认证成功
}
@Override
public void onAuthenticationFailed() {
// 认证失败
}
}, null);
}
需要注意的是,从Android 9开始,FingerprintManager
已被BiometricPrompt
API取代,该API支持面部和虹膜识别等其它生物识别技术。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/170691.html