第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用 BiometricManager 或 BiometricPrompt 檢查生物識(shí)別硬件是否

如何使用 BiometricManager 或 BiometricPrompt 檢查生物識(shí)別硬件是否

心有法竹 2023-06-28 15:58:38
我正在使用 BiometricPrompt 類實(shí)現(xiàn)生物識(shí)別身份驗(yàn)證。在調(diào)用方法之前如何檢查硬件是否可用BiometricPrompt#authenticate?如何查看是否已登記生物識(shí)別?如何調(diào)用BiometricManager#canAuthenticate方法?我無(wú)法在 kotlin 中為 BiometricManager 類創(chuàng)建對(duì)象我當(dāng)前的實(shí)現(xiàn)如下。    val executor = Executors.newSingleThreadExecutor()    val biometricPrompt = BiometricPrompt(this, executor, object : BiometricPrompt.AuthenticationCallback() {        override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {            super.onAuthenticationError(errorCode, errString)            Log.d("BIOMETRIC", "$errString $errorCode")            if (BiometricPrompt.ERROR_HW_NOT_PRESENT == errorCode || BiometricPrompt.ERROR_NO_BIOMETRICS == errorCode)                PreferenceHandler.setBiometricAvailable(this@LockActivity, false)            else                PreferenceHandler.setBiometricAvailable(this@LockActivity, true)        }        override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {            super.onAuthenticationSucceeded(result)        }        override fun onAuthenticationFailed() {            super.onAuthenticationFailed()            Log.d("BIOMETRIC", "FAILED")        }    })    val promptInfo = BiometricPrompt.PromptInfo.Builder()            .setTitle("App title")            .setSubtitle("")            .setDescription("Identify yourself by Biometrics")            .setNegativeButtonText("Use Password")            .build()    biometricPrompt.authenticate(promptInfo)
查看完整描述

1 回答

?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊

問(wèn)題終于解決了


BiometricManagerandroidx 庫(kù)中錯(cuò)過(guò)了課程


androidx.biometric:biometric:1.0.0-alpha04

將庫(kù)版本更新為


androidx.biometric:biometric:1.0.0-beta01

現(xiàn)在您可以導(dǎo)入androidx.biometric.BiometricManager


您可以通過(guò)以下代碼檢查生物識(shí)別硬件的可用性并已注冊(cè)生物識(shí)別:


object BiometricUtil {


fun isHardwareAvailable(context: Context): Boolean{

    return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){

        val bm = BiometricManager.from(context)

        val canAuthenticate = bm.canAuthenticate()

        !(canAuthenticate == BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE || canAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE)


    } else {

        false

    }

}


fun hasBiometricEnrolled(context: Context): Boolean {

    return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){

        val bm = BiometricManager.from(context)

        val canAuthenticate = bm.canAuthenticate()

        (canAuthenticate == BiometricManager.BIOMETRIC_SUCCESS)


    } else {

        false

    }

}

}


查看完整回答
反對(duì) 回復(fù) 2023-06-28
  • 1 回答
  • 0 關(guān)注
  • 285 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)