V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Awei
V2EX  ›  Android

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

  •  
  •   Awei · 2017-05-01 15:35:53 +08:00 · 9522 次点击
    这是一个创建于 2766 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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.

    2 条回复    2017-05-02 17:59:51 +08:00
    daya
        1
    daya  
       2017-05-02 15:13:56 +08:00
    看起来不错的样子
    Awei
        2
    Awei  
    OP
       2017-05-02 17:59:51 +08:00
    @daya APP 需要指纹功能的话,就可以很快捷的接入,简洁高效。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 21:29 · PVG 05:29 · LAX 13:29 · JFK 16:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.