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:

1會員
2內容數
留言0
查看全部
發表第一個留言支持創作者!
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
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
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
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
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 的模擬器試 , 沒問題 看來需要實機了 於是就開始