Android開源:指紋識別 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報錯停止了驗證,自動結束指紋識別
}
});</code></pre>
5. 混淆設置
# MeiZuFingerprint
-keep class com.fingerprints.service.* { ; }
SmsungFingerprint
-keep class com.samsung.android.sdk.* { ; }</code></pre>
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 發布第一版本
項目主頁:http://www.baiduhome.net/lib/view/home/1492134781879
本文由用戶 bmid6930 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!