一键接入指纹识别,官方API,三星API,魅族API!

FingerprintIdentify

Android指纹识别API兼容库,目前整合了安卓原生API以及三星和魅族的指纹SDK,支持继续拓展。

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

Usage

1. 添加引用

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

2. 添加指纹识别权限

<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() {
        // 错误次数达到上限或者API报错停止了验证,自动结束指纹识别
    }
});

5. 混淆设置

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

6. 其他说明

compile 'com.android.support:appcompat-v7:23.4.0'

这里如果使用25.X版本的兼容库,可能会导致部分即使是6.0系统的机型也不能正常使用指纹识别,具体请客参考:

https://code.google.com/p/android/issues/detail?id=231939

7. 更新历史

v1.1.1 2017.03.20 AppCompat支持库从25.2.0降级到23.4.0,因为第6点问题还没修复

v1.1.0 2017.03.16 调整包名,修正魅族指纹SDK的API调用问题

v1.0.2 2017.02.17 新增异常回调接口

v1.0.1 2017.02.15 修正三星指纹API调用(开始识别和关闭指纹都必须在主线程调用)

v1.0.0 2017.02.10 发布第一版本