推荐一个安卓指纹识别 SDK,额外支持三星和魅族的 6.0 以下的设备。

2017-05-01 15:35:53 +08:00
 Awei

FingerprintIdentify

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

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

1. Gradle 添加引用

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

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

5. 混淆设置

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

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

6. 相关资料

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

7. 更新记录

v1.1.2 2017.04.25 修改 AOSP 源码,避开 PackageManager.FEATURE_FINGERPRINT 的限制

v1.1.1 2017.03.20  AppCompat 支持库从 25.2.0 降级到 23.4.0

v1.1.0 2017.03.16 调整包名,BUG FIXED

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

v1.0.1 2017.02.15  BUG FIXED

v1.0.0 2017.02.10 发布第一版本

License

Licensed under the MIT License, see the LICENSE for copying permission.

9525 次点击
所在节点    Android
2 条回复
daya
2017-05-02 15:13:56 +08:00
看起来不错的样子
Awei
2017-05-02 17:59:51 +08:00
@daya APP 需要指纹功能的话,就可以很快捷的接入,简洁高效。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/358374

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX