Android-BiometricManager 指紋登入

更新於 2022/04/29閱讀時間約 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
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Android 版 Chrome 瀏覽器中新增了朗讀功能,可以將網頁文字轉換為語音並播放,方便用戶聆聽網頁內容,支援多國語言,包括繁/簡體中文、英文、日語、法文、德文等,還可調整播放速度和選擇語音。
Thumbnail
瀏覽器安裝擴充功能可以發揮本身以外的功能。微軟於 2023 年開始在 Android 版 Edge 上測試擴充功能,現階段可以取得官方推薦項目,無法前往 Chrome 或 Edge 商店安裝擴充功能。
Thumbnail
本課程學習如何建立 Android Wear (Wear OS by Google) 智慧穿戴式手錶專案的步驟。詳細說明了如何在 Android Studio 中建立 Wear OS 專案,包括選擇專案範本、設定專案屬性、建立手錶模擬器等步驟。最後,示範了運行專案並在模擬器上修改顯示文字的過程。
Thumbnail
本課程學習如何透過函數重構程式碼,提高可讀性、可維護性和重用性。以按鈕操作為例,將不同邏輯提取成函數,例如 allClear()、equalSign() 等,使程式碼更簡潔易懂,提升開發效率。
Thumbnail
本課程學習如何實作處理加、減、乘和除按鈕等計算機相關邏輯。
Thumbnail
此次ClubHouse Android Beta版本將首先在美國發行,然後是其它英語國家,隨著用戶的反饋和軟體程式地不斷優化,再陸續在世界其它國家和地區開放。
Thumbnail
這次錯誤在Android 11 發生 去年12月底 , 有客戶反應 , 在 android 11 的手機 , 公司 app 開不起來 或開起來跑很久 , 空白頁..........登入畫面空白 之類奇怪的問題 一開始用 Android studio 的模擬器試 , 沒問題 看來需要實機了 於是就開始
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Android 版 Chrome 瀏覽器中新增了朗讀功能,可以將網頁文字轉換為語音並播放,方便用戶聆聽網頁內容,支援多國語言,包括繁/簡體中文、英文、日語、法文、德文等,還可調整播放速度和選擇語音。
Thumbnail
瀏覽器安裝擴充功能可以發揮本身以外的功能。微軟於 2023 年開始在 Android 版 Edge 上測試擴充功能,現階段可以取得官方推薦項目,無法前往 Chrome 或 Edge 商店安裝擴充功能。
Thumbnail
本課程學習如何建立 Android Wear (Wear OS by Google) 智慧穿戴式手錶專案的步驟。詳細說明了如何在 Android Studio 中建立 Wear OS 專案,包括選擇專案範本、設定專案屬性、建立手錶模擬器等步驟。最後,示範了運行專案並在模擬器上修改顯示文字的過程。
Thumbnail
本課程學習如何透過函數重構程式碼,提高可讀性、可維護性和重用性。以按鈕操作為例,將不同邏輯提取成函數,例如 allClear()、equalSign() 等,使程式碼更簡潔易懂,提升開發效率。
Thumbnail
本課程學習如何實作處理加、減、乘和除按鈕等計算機相關邏輯。
Thumbnail
此次ClubHouse Android Beta版本將首先在美國發行,然後是其它英語國家,隨著用戶的反饋和軟體程式地不斷優化,再陸續在世界其它國家和地區開放。
Thumbnail
這次錯誤在Android 11 發生 去年12月底 , 有客戶反應 , 在 android 11 的手機 , 公司 app 開不起來 或開起來跑很久 , 空白頁..........登入畫面空白 之類奇怪的問題 一開始用 Android studio 的模擬器試 , 沒問題 看來需要實機了 於是就開始