Android-BiometricManager 指紋登入

更新於 發佈於 閱讀時間約 5 分鐘

主要物件:

BiometricManager

-檢查使用者是否有指紋辨識or是否設置密碼

BiometricPrompt

-初始化指紋視窗 並且 呼叫指紋視窗

BiometricPromptInfo

-指紋視窗的一些設定 Title , Description ...

Coding:

這邊會先建議建立 BiometricManager

主要是因為,他能判斷使用者是否有支持指紋或者設置Pin碼

  • BIOMETRIC_ERROR_NO_HARDWARE:沒有指紋
  • BIOMETRIC_ERROR_HW_UNAVAILABLE:沒有獲取到硬體
  • BIOMETRIC_ERROR_NONE_ENROLLED:沒有設定生物辨識
val biometricManager = BiometricManager.from(this) 
when (biometricManager.canAuthenticate()) {     
BiometricManager.BIOMETRIC_SUCCESS ->         
  Log.d("TAG", "App can authenticate using biometrics.")     
BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE ->        
   Log.e("TAG", "No biometric features available on this device.") 
BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE ->         
   Log.e("TAG", "Biometric features are currently unavailable.") 
BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED ->        
   Log.e("TAG", "The user hasn't associated any biometric credentials with their account.") 
}

建立 executors and callback(BiometricPrompt.AuthenticationCallback)

val executors = ContextCompat.getMainExecutor(this)
val callback = object : BiometricPrompt.AuthenticationCallback(){
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
super.onAuthenticationError(errorCode, errString)
}

override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
super.onAuthenticationSucceeded(result)
finish()
startActivity(Intent(this@LoginActivity,MainActivity::class.java))
}

override fun onAuthenticationFailed() {
super.onAuthenticationFailed()
}
}
再來 建立 BiometricPromptInfo
val biometricPromptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle("Authentication")
.setDescription("")
.setDeviceCredentialAllowed(true)
.build()
最後 BiometricPrompt
biometricPrompt.authenticate ->呼叫指紋
biometricPrompt = BiometricPrompt(this, executors, callback) 
biometricPrompt.authenticate(biometricPromptInfo)
結果:
Result

GitHub:

avatar-img
1會員
2內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
LiHan的沙龍 的其他內容
自己建立自己的依賴然後去使用 準備Prepare: 1.GitHub 2.https://jitpack.io/ Step1: Create Create Dependency project . 一般的java專案都可以 Create Fun or Class or You need
自己建立自己的依賴然後去使用 準備Prepare: 1.GitHub 2.https://jitpack.io/ Step1: Create Create Dependency project . 一般的java專案都可以 Create Fun or Class or You need
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
什麼是多因素驗證 (MFA)? 多因素驗證 (MFA) 是一種登入保護機制,需要使用者提供多個不同的驗證方式來確認身份。除了輸入密碼,使用者還可能需要: 輸入發送到手機的驗證碼 掃描指紋或面部 回答安全問題 這樣即使密碼被盜用,未經授權的用戶也很難登入帳戶。 為什麼需要多因素
Thumbnail
需求情境: 為了讓多人使用 App,必須有驗證程序,以識別特定使用者,存取各自擁有的資源。 解決方案: 引用 google 所提供的雲端服務平台 Firebase,其中有多種驗證功能可選用。基於個人對 google 的偏愛,決定先採用 google signin 的方法,實作 login lo
Thumbnail
最近家裡安裝了電子鎖,由於我的指紋老是無法辨識成功,所以最後選擇有「人臉辨識」功能的產品。在這篇文章中,將介紹人臉辨識技術的基本原理和安全性,以及如何避免應用軟體漏洞的風險。
Thumbnail
iOS 18 新增了原生 App 上鎖和隱藏功能,可以在打開應用程式增加驗證身分和隱藏敏感程式,即使將手機借給他人,對方沒有密碼也無法打開已上鎖的 App。
Thumbnail
申請攜碼優惠前,先讓我們看看這些常見疑問! 攜碼需要準備的資料 身分證和健保卡或駕照 如果委託他人代辦,需攜帶雙方的身分證和健保卡或駕照,以及門號登記者的印章 公司戶申辦需要攜帶營業登記證、變更登記表(擇一)、負責人身分證和健保卡或駕照,以及公司大小章 是否需要先解約? 只要原電信業者的
在當今數位化快速發展的社會中,傳統的密碼驗證方法已逐漸顯露其局限性,如密碼遺忘、盜用以及安全漏洞等問題不斷。為解決這些問題,「FIDO(Fast Identity Online)認證」技術應運而生,旨在創造一個更安全、便利的網路認證環境。FIDO 認證不依賴傳統密碼,而是利用生物辨識技術如指紋、臉部
Thumbnail
HR需要具備採購職能,以提升企業內部運作效率與員工滿意度。 人資管理的發展與外部環境的變化緊密相連,因此採購職能成為人資工作者不可或缺的一部分。 採購職能包括需求分析、市場調查、評估議價、合約管理以及績效管理。 HR為提升採購職能,需要刻意參加相關課程訓練、閱讀書籍、向專業人士請教以及累積實務經驗。
Thumbnail
授權碼模式連線流程 用戶端請求自己的伺服器。 伺服器發現用戶沒登入,就導向認證伺服器。 認證伺服器顯示授權頁面,等待用戶授權。 用戶確認授權後,授權頁面會向認證伺服器請求授權碼。 用戶獲取授權碼。 用戶將授權碼傳給伺服器。 伺服器拿授權碼向認證伺服器取得token。 應用註冊
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
什麼是多因素驗證 (MFA)? 多因素驗證 (MFA) 是一種登入保護機制,需要使用者提供多個不同的驗證方式來確認身份。除了輸入密碼,使用者還可能需要: 輸入發送到手機的驗證碼 掃描指紋或面部 回答安全問題 這樣即使密碼被盜用,未經授權的用戶也很難登入帳戶。 為什麼需要多因素
Thumbnail
需求情境: 為了讓多人使用 App,必須有驗證程序,以識別特定使用者,存取各自擁有的資源。 解決方案: 引用 google 所提供的雲端服務平台 Firebase,其中有多種驗證功能可選用。基於個人對 google 的偏愛,決定先採用 google signin 的方法,實作 login lo
Thumbnail
最近家裡安裝了電子鎖,由於我的指紋老是無法辨識成功,所以最後選擇有「人臉辨識」功能的產品。在這篇文章中,將介紹人臉辨識技術的基本原理和安全性,以及如何避免應用軟體漏洞的風險。
Thumbnail
iOS 18 新增了原生 App 上鎖和隱藏功能,可以在打開應用程式增加驗證身分和隱藏敏感程式,即使將手機借給他人,對方沒有密碼也無法打開已上鎖的 App。
Thumbnail
申請攜碼優惠前,先讓我們看看這些常見疑問! 攜碼需要準備的資料 身分證和健保卡或駕照 如果委託他人代辦,需攜帶雙方的身分證和健保卡或駕照,以及門號登記者的印章 公司戶申辦需要攜帶營業登記證、變更登記表(擇一)、負責人身分證和健保卡或駕照,以及公司大小章 是否需要先解約? 只要原電信業者的
在當今數位化快速發展的社會中,傳統的密碼驗證方法已逐漸顯露其局限性,如密碼遺忘、盜用以及安全漏洞等問題不斷。為解決這些問題,「FIDO(Fast Identity Online)認證」技術應運而生,旨在創造一個更安全、便利的網路認證環境。FIDO 認證不依賴傳統密碼,而是利用生物辨識技術如指紋、臉部
Thumbnail
HR需要具備採購職能,以提升企業內部運作效率與員工滿意度。 人資管理的發展與外部環境的變化緊密相連,因此採購職能成為人資工作者不可或缺的一部分。 採購職能包括需求分析、市場調查、評估議價、合約管理以及績效管理。 HR為提升採購職能,需要刻意參加相關課程訓練、閱讀書籍、向專業人士請教以及累積實務經驗。
Thumbnail
授權碼模式連線流程 用戶端請求自己的伺服器。 伺服器發現用戶沒登入,就導向認證伺服器。 認證伺服器顯示授權頁面,等待用戶授權。 用戶確認授權後,授權頁面會向認證伺服器請求授權碼。 用戶獲取授權碼。 用戶將授權碼傳給伺服器。 伺服器拿授權碼向認證伺服器取得token。 應用註冊