Android指纹识别开发-Android如何使用指纹开发

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lwhlwh2012/article/details/80251915

FingerprintIdentify

这是一个可拓展的Android指纹识别API兼容库,目前集成了以下API:

安卓API:最低支持安卓6.0系统 (查看详细介绍)

三星SDK:最低支持安卓4.2系统 (查看详细介绍)

魅族SDK:最低支持安卓5.1系统 (查看详细介绍)

API调用优先级:安卓API > 三星SDK > 魅族SDK

1. Gradle 添加引用

compile 'com.wei.android.lib:fingerprintidentify:1.2.1'

2. AndroidManifest 添加权限

<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="com.fingerprints.service.ACCESS_FINGERPRINT_MANAGER"/>
<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY"/>

3. FingerprintIdentify 方法解释

mFingerprintIdentify = new FingerprintIdentify(this);                       // 构造对象
mFingerprintIdentify = new FingerprintIdentify(this, exceptionListener);    // 构造对象,并监听错误回调(错误仅供开发使用)
mFingerprintIdentify.isFingerprintEnable();                                 // 指纹硬件可用并已经录入指纹
mFingerprintIdentify.isHardwareEnable();                                    // 指纹硬件是否可用
mFingerprintIdentify.isRegisteredFingerprint();                             // 是否已经录入指纹
mFingerprintIdentify.startIdentify(maxTimes, listener);                     // 开始验证指纹识别
mFingerprintIdentify.cancelIdentify();                                      // 关闭指纹识别
mFingerprintIdentify.resumeIdentify();                                      // 恢复指纹识别并保证错误次数不变

4. startIdentify 方法解析

mFingerprintIdentify.startIdentify(3, new BaseFingerprint.FingerprintIdentifyListener() {
    @Override
    public void onSucceed() {
        // 验证成功,自动结束指纹识别
    }

    @Override
    public void onNotMatch(int availableTimes) {
        // 指纹不匹配,并返回可用剩余次数并自动继续验证
    }

    @Override
    public void onFailed(boolean isDeviceLocked) {
        // 错误次数达到上限或者API报错停止了验证,自动结束指纹识别
        // isDeviceLocked 表示指纹硬件是否被暂时锁定
    }

    @Override
    public void onStartFailedByDeviceLocked() {
        // 第一次调用startIdentify失败,因为设备被暂时锁定
    }
});

5. 混淆设置

# MeiZuFingerprint
-keep class com.fingerprints.service.** { *; }

# SmsungFingerprint
-keep class com.samsung.android.sdk.** { *; }

6. 相关资料

1. 通常指纹硬件在连续识别错误5次后,就会暂时锁定硬件,需要等30s左右才能再次恢复使用。
   这个因设备而异,比如魅族的SDK就完全没有次数限制。

2. 关于 'com.android.support:appcompat-v7:25.3.1' 版本问题
   从25版本开始 FingerprintManagerCompatApi23 类需要检查 FEATURE_FINGERPRINT 特性。
   具体可以参考:https://code.google.com/p/android/issues/detail?id=231939

3. 国内个别手机产商会移植安卓6.0的标准指纹API到6.0以下的系统中使用,比如OPPO。
   但是移植后的API存在被修改的可能,可能会导致程序奔溃,比如VIVO。

4. 由于魅族指纹SDK可能会在某些系统上可以正常调用部分API,所以需要加个设备判断。

5. 魅族的指纹SDK在魅蓝NOTE3上也可能出现功能异常,比如调用release后也不能恢复mback模式。

7. 资源下载

Android指纹识别API,指纹识别工具,包含demo

https://download.csdn.net/download/lwhlwh2012/10402570

猜你喜欢

转载自blog.csdn.net/lwhlwh2012/article/details/80251915
今日推荐