这种方法是调用系统中存储的指纹进行解锁验证。
第一步 权限定义
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
第二步 声明fingerprint
private FingerprintManagerCompat manager;
第三步 调用 fingerprint
manager = FingerprintManagerCompat.from(this);
第四步 执行函数
manager.authenticate(null, 0, null, new MyCallBack(), null);
第五步 服务函数
public class MyCallBack extends FingerprintManagerCompat.AuthenticationCallback {
private static final String TAG = "MyCallBack";
// 当出现错误的时候回调此函数,比如多次尝试都失败了的时候,errString是错误信息
@Override
public void onAuthenticationError(int errMsgId, CharSequence errString) {
// Log.d(TAG, "onAuthenticationError: " + errString);
}
// 当指纹验证失败的时候会回调此函数,失败之后允许多次尝试,失败次数过多会停止响应一段时间然后再停止sensor的工作
@Override
public void onAuthenticationFailed() {
//Log.d(TAG, "onAuthenticationFailed: " + "验证失败");
// Toast.makeText(getApplicationContext(), "指纹错误", Toast.LENGTH_LONG).show();
}
@Override
public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
// Log.d(TAG, "onAuthenticationHelp: " + helpString);
}
// 当验证的指纹成功时会回调此函数,然后不再监听指纹sensor
@Override
public void onAuthenticationSucceeded(FingerprintManagerCompat.AuthenticationResult
result) {
//Toast.makeText(getApplicationContext(), "识别成功", Toast.LENGTH_LONG).show();
//Log.d(TAG, "onAuthenticationSucceeded: " + "验证成功");
}
}