Android 指纹识别的简单应用

private FingerprintManager manager;
private KeyguardManager keyguardManager;

//初始化

manager = context.getSystemService(FingerprintManager.class);
keyguardManager = context.getSystemService(KeyguardManager.class);
//判断硬件是否支持指纹识别
if (!manager.isHardwareDetected()) {
    Toast.makeText(context, "没有指纹识别模块", Toast.LENGTH_LONG).show();
    return;
}
//判断是否开启锁屏密码
if (!keyguardManager.isKeyguardSecure()) {
    Toast.makeText(context, "没有开启锁屏密码", Toast.LENGTH_LONG).show();
    return;
}
//判断是否有指纹录入
if (!manager.hasEnrolledFingerprints()) {
    Toast.makeText(context, "没有指纹录入", Toast.LENGTH_LONG).show();
    return;
}

 

FingerprintManager.AuthenticationCallback mSelfCancelled = new FingerprintManager.AuthenticationCallback() {
    @Override
    public void onAuthenticationError(int errorCode, CharSequence errString) {   
        //errorCode是失败的次数
        Toast.makeText(context, "尝试次数过多,请稍后重试", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onAuthenticationHelp(int helpCode, CharSequence helpString) {
        //指纹验证失败,可再验,可能手指过脏,或者移动过快等原因。
        Toast.makeText(context, "失败", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) {
        //指纹密码验证成功
        Toast.makeText(context, "成功", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onAuthenticationFailed() {
        //指纹验证失败,指纹识别失败,可再验,错误原因为:该指纹不是系统录入的指纹。
        Toast.makeText(context, "失败", Toast.LENGTH_LONG).show();
    }
};
CancellationSignal mCancellationSignal = new CancellationSignal();

manager.authenticate(null, mCancellationSignal, 0, mSelfCancelled, null);

 

结束

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值