android 添加指纹识别

本文详细介绍如何在Android应用中集成指纹识别功能,包括AndroidManifest权限声明、获取FingerprintManager服务对象、启动指纹识别流程及兼容性处理。同时,提供了一个GitHub上的示例项目供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. AndroidManifest权限声明

<uses-permission android:name="android.permission.USE_FINGERPRINT"/>


2. 获取FingerManager服务对象

public static FingerprintManager getFingerprintManager(Context context) {
    FingerprintManager fingerprintManager = null;
    try {
        fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
    } catch (Throwable e) {
        FPLog.log("have not class FingerprintManager");
    }
    return fingerprintManager;
}

3. 启动指纹识别

mFingerprintManager.authenticate(cryptoObject, mCancellationSignal, 0, mAuthCallback, null);


4.兼容性
官方v4包中 使用FingerprintManagerCompat代替FingerprintManager可以兼容更低版本

5.使用指纹识别需要确认
    是否有指纹服务
    指纹服务中是否返回硬件支持
        /**
     * 有指纹识别硬件支持
     * @return
     */
    public boolean isHardwareDetected() {
        try {
            return mFingerprintManager.isHardwareDetected();
        } catch (SecurityException e) {
        } catch (Throwable e) {}
        return false;
    }

    /**
     * 是否录入指纹,有些设备上即使录入了指纹,但是没有开启锁屏密码的话此方法还是返回false
     * @return
     */
    public boolean isHasEnrolledFingerprints() {
        try {
            // 有些厂商api23之前的版本可能没有做好兼容,这个方法内部会崩溃(redmi note2, redmi note3等)
            return mFingerprintManager.hasEnrolledFingerprints();
        } catch (SecurityException e) {
        } catch (Throwable e) {
        }
        return false;
    }

 

demo 可以参考

Github地址:https://github.com/PopFisher/FingerprintRecognition

转载于:https://my.oschina.net/u/1162691/blog/2991738

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值