《Android》『FingerprintManager』- 指紋辨識功能的基本用法

《Android Developers 參考文獻》

➥FingerprintManager

 

《繼承架構》

extends Object


java.lang.Object

↳ android.hardware.fingerprint.FingerprintManager

 

《簡單介紹》

FingerprintManager 是在 Android 6.0 Marshmallow 版本中(targetSdkVersion = “23”),所提供的一個新的 API,利用這個 API,我們使得手機可以利用鏡頭,在設定好要用來加密的手指指紋後(透過拍照特寫手指頭的方式,儲存至少一張照片),再利用指紋比對的方式來核實身份。

《基本用法》

要在程式中使用 Fingerprint API,主要區分為三個步驟,條列如下 –

Step1. 加入 FingerPrint 權限。

Step2. 確認硬體裝置是否支援以及環境設定是否完成。

Step3. 透過 FingerprintManager 執行 Authenticate 的動作。

 

Step1. 加入 FingerPrint 權限

在使用 FingerPrint API 前,我們必須先在 AndroidManifest.xml 中,加入 FingerPrint 的使用權限。

 

Step2. 確認硬體裝置是否支援以及環境設定是否完成

首先我們必須要確認所使用的裝置是否支援 fingerprint reader,接著在設定選項中設定安全性為 Fingerprint(Settings -> Security -> Fingerprint),最後確認是否有儲存了至少一枚指紋(fingerprint),以下透過程式碼片段的方式,示範如何在程式中,檢查以上資訊。

Check Requirement

程式碼解析如下 –

1. mKeyguardManager.isKeyguardSecure() : 是否有設定 screen lock

2. mFingerprintManager.isHardwareDetected() : 硬體裝置是否支援 fingerprint reader

3. mFingerprintManager.hasEnrolledFingerprints() : 是否有設定至少一枚指紋

 

Step3. 透過 FingerprintManager 執行 Authenticate 的動作

在通過 Step1 的裝置環境檢查之後,我們就可以開始透過 FingerprintManager 執行 Authenticate (辨識認證)的動作,authenticate的方法宣告參數如下 –

authenticate 的方法參數

其中 crypto 為 Android 6.0中 crypto objects 的 wrapper class,可以透過它讓 authenticate 過程更為安全,但也可以不使用;cancel 即用來取消 authenticate 的物件;flags 為一個旗標,只能設為 0;callback 用來接受 authenticate 成功與否,一共有三個 callback method;最後 handler 為 optional 的參數,如果有使用,則 FingerprintManager 可以透過它來傳遞訊息。

實際程式碼片段如下 –

其中 mAuthenticationCallback 用來接收指紋辨識成功與否,會有三個 callback method,分別條列如下 –

onAuthenticationError – 辨識錯誤

onAuthenticationFailed – 辨識失敗

onAuthenticationSucceeded – 辨識成功

賽肥膩膩

我們是低調到不行的肥膩夫妻檔,一路上一邊吵鬧一邊記錄著生活大小事,最近迷上了宅在家追劇,希望能透過文字將所有看過的影集好好紀錄,整理成屬於我們自己的回憶資料庫。

上 / 下一篇文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *