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>