Android指紋是在API23版本之后加入的,以及大多數的Android6.0系統都有硬件支持迅栅。
一:指紋Demo:
1、:檢測AndroidAPI是否大于等于23
2、:檢測硬件是否支持
3慈省、:設備是否錄入指紋
4、:開始認證
5眠菇、:處理認證結果
二:服務器交互
1边败、數據上傳
2、登錄驗證
3捎废、加密處理
一:實現指紋demo
實現指紋demo 很簡單笑窜。理解并調用以下API就可以實現。
相關類:
1.FingerprintManager:主要用來協調管理和訪問指紋識別硬件設備
2.FingerprintManager.AuthenticationCallback這個一個callback接口登疗,當指紋認證后系統會回調這個接口通知app認證的結果是什么
3.FingerprintManager.AuthenticationResult這是一個表示認證結果的類排截,會在回調接口中以參數給出
4.FingerprintManager.CryptoObject這是一個加密的對象類嫌蚤,用來保證認證的安全性
開始掃描用戶按下的指紋
調用authenticate()函數;
@RequiresPermission(USE_FINGERPRINT) //限定需要權限
public void authenticate(
@Nullable CryptoObject crypto, //加密類對象断傲;
@Nullable CancellationSignal cancel, //用來取消當前掃描操作(30s才超時)脱吱;
int flags, //標識位,暫時設置為0即可认罩;
@NonNull AuthenticationCallback callback, //認證結果回調箱蝠;
@Nullable Handler handler) //使用handler的Looper處理指紋識別硬件的信息;為null猜年,則使用app的main Looper處理抡锈;
大多數Demo中使用指紋都是請求認證指紋,獲得結果乔外,根據結果做下一步的工作床三。
不多說直接上代碼吧!
MainActivity extends FingerprintManager.AuthenticationCallback {
}
畫重點:
CrytoObject對象是基于Java加密API的一個包裝類杨幼,
并且被FingerprintManager用來保證認證結果的完整性撇簿。通常來講,用來加密指紋掃描結果的機制就是一個Javax.Crypto.Cipher對象差购。Cipher對象本身會使用由應用調用Android keystore(Android提供的一個用來保存 Key-Value的文件)的API產生一個key來實現上面說道的保護功能四瘫。
、欲逃、找蜜、