指纹识别是在Android 6.0以后新增的功能,在使用的时候需要先判断手机的系统版本是否支持指纹识别。
AndroidManifest添加权限
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
验证手机是否支持指纹功能
- FingerprintManager : 指纹管理类
public boolean supportFingerprint() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
FingerprintManager fingerprintManager = Application.getContext().getSystemService(FingerprintManager.class);
if (fingerprintManager != null && !fingerprintManager.isHardwareDetected()) {
return false;
}
} else {
return false;
}
return true;
}
根据系统版本 < 23, 提示用户手机系统版本过低,不支持指纹功能
FingerprintManager.isHardwareDetected() 是否有指纹硬件
FingerprintManager.hasEnrolledFingerprints() 是否有录入的指纹,提示用户跳转到系统设置录入指纹
指纹识别关键方法 authenticate
指纹识别中最关键的方法,调起指纹识别扫描器进行指纹识别
FingerprintManager.authenticate(CryptoObject crypto, CancellationSignal cancel, int flags, AuthenticationCallback callback, Handler handler);
FingerprintManager.authenticate(null, null,