Android开源:FingerprintIdentify-指纹识别 SDK

TayPeyser 7年前
   <p>FingerprintIdentify</p>    <p>这是一个可拓展的Android指纹识别API兼容库,目前集成了 安卓原生API 以及 <a href="/misc/goto?guid=4959748256034567411">三星</a> 和 <a href="/misc/goto?guid=4959748256137066403">魅族</a> 的指纹SDK。</p>    <p>三星和魅族的指纹SDK支持大部分系统低于安卓6.0的设备。</p>    <p>API调用优先级:安卓原生 > 三星SDK > 魅族SDK</p>    <p style="text-align:center"><a href="/misc/goto?guid=4959748256221213261"><img alt="Android开源:FingerprintIdentify-指纹识别 SDK" src="https://simg.open-open.com/show/574dc4aea8e07815960b188a87b6fdd0.png" width="750" height="470"></a></p>    <p><strong>1. Gradle 添加引用</strong></p>    <pre>  <code class="language-java">compile 'com.wei.android.lib:fingerprintidentify:1.1.2'  </code></pre>    <p><strong>2. AndroidManifest 添加权限</strong></p>    <pre>  <code class="language-java"><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"/>  </code></pre>    <p><strong>3. FingerprintIdentify 方法解释</strong></p>    <pre>  <code class="language-java">mFingerprintIdentify = new FingerprintIdentify(this);                       // 构造对象  mFingerprintIdentify = new FingerprintIdentify(this, exceptionListener);    // 构造对象,并监听错误回调  mFingerprintIdentify.isFingerprintEnable();                                 // 指纹硬件可用并已经录入指纹  mFingerprintIdentify.isHardwareEnable();                                    // 指纹硬件是否可用  mFingerprintIdentify.isRegisteredFingerprint();                             // 是否已经录入指纹  mFingerprintIdentify.startIdentify(maxTimes, listener);                     // 开始验证指纹识别  mFingerprintIdentify.cancelIdentify();                                      // 关闭指纹识别  mFingerprintIdentify.resumeIdentify();                                      // 恢复指纹识别并保证错误次数不变  </code></pre>    <p><strong>4. startIdentify 方法解析</strong></p>    <pre>  <code class="language-java">mFingerprintIdentify.startIdentify(3, new BaseFingerprint.FingerprintIdentifyListener() {      @Override      public void onSucceed() {          // 验证成功,自动结束指纹识别      }        @Override      public void onNotMatch(int availableTimes) {          // 指纹不匹配,并返回可用剩余次数并自动继续验证      }        @Override      public void onFailed() {          // 错误次数达到上限或者API报错停止了验证,自动结束指纹识别      }  });  </code></pre>    <p><strong>5. 混淆设置</strong></p>    <pre>  <code class="language-java"># MeiZuFingerprint  -keep class com.fingerprints.service.** { *; }    # SmsungFingerprint  -keep class com.samsung.android.sdk.** { *; }  </code></pre>    <p><strong>6. 相关资料</strong></p>    <p><a href="/misc/goto?guid=4959747365406925241">https://code.google.com/p/android/issues/detail?id=231939</a></p>    <p><strong>7. 更新记录</strong></p>    <p><strong>v1.1.2</strong>    <code>2017.04.25</code>    修改AOSP源码,避开 PackageManager.FEATURE_FINGERPRINT 的限制</p>    <p><strong>v1.1.1</strong>    <code>2017.03.20</code>    AppCompat支持库从25.2.0降级到23.4.0</p>    <p><strong>v1.1.0</strong>    <code>2017.03.16</code>    调整包名,BUG FIXED</p>    <p><strong>v1.0.2</strong>    <code>2017.02.17</code>    新增异常回调接口</p>    <p><strong>v1.0.1</strong>    <code>2017.02.15</code>    BUG FIXED</p>    <p><strong>v1.0.0</strong>    <code>2017.02.10</code>    发布第一版本</p>    <h2>License</h2>    <p>Licensed under the MIT License, see the LICENSE for copying permission.</p>    <p> </p>    <p>项目主页:<a href="http://www.open-open.com/lib/view/home/1493707218243">http://www.open-open.com/lib/view/home/1493707218243</a></p>    <p> </p>