Hy, I am a newbie currently learning Mobile development. I am developing an application in which when the user presses the login button it will only give the option of Fingerprint authentication. but in my case, It gives options to the user to either uses Fingerprint or face authentication. How can I restrict the user to only Fingerprint authentication? Here I am using the following Code:
package com.example.fingerprintauth
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.biometric.BiometricPrompt
import android.widget.Button
import android.widget.Toast
import androidx.core.content.ContextCompat
import java.util.concurrent.Executor
class MainActivity : AppCompatActivity() {
private lateinit var executor: Executor
private lateinit var biometricPrompt: BiometricPrompt
private lateinit var prompt: BiometricPrompt.PromptInfo
//private var flag =0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
executor=ContextCompat.getMainExecutor(this)
biometricPrompt= BiometricPrompt(this@MainActivity,executor,object:BiometricPrompt.AuthenticationCallback(){
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
super.onAuthenticationError(errorCode, errString)
//authStatusTv.text = "Authentication Error: $errString"
Toast.makeText(this@MainActivity,"Authentication Error: $errString",Toast.LENGTH_SHORT).show()
}
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
super.onAuthenticationSucceeded(result)
Toast.makeText(this@MainActivity,"Authentication Success",Toast.LENGTH_SHORT).show()
startActivity(
Intent(
this@MainActivity, Home::class.java
)
)
}
override fun onAuthenticationFailed() {
super.onAuthenticationFailed()
//authStatusTv.text = "Authentication Failed"
Toast.makeText(this@MainActivity,"Authentication Failed",Toast.LENGTH_SHORT).show()
}
})
val promptInfo=BiometricPrompt.PromptInfo.Builder()
.setTitle("Biometric Authentication")
.setSubtitle("Login Using Fingerprint authentication")
.setDeviceCredentialAllowed(true)
//.setAllowedAuthenticators(BIOMETRIC_STRONG or DEVICE_CREDENTIAL)
.build()
var authbtn = findViewById<Button>(R.id.authbtn)
authbtn.setOnClickListener {
biometricPrompt.authenticate(promptInfo)
}
}
}