face detection

dependencies {
   
// Java language implementation
    implementation
"androidx.biometric:biometric:1.0.1"


private Executor executor;
private BiometricPrompt biometricPrompt;
private BiometricPrompt.PromptInfo promptInfo;

@Override
protected void onCreate(Bundle savedInstanceState) {
   
super.onCreate(savedInstanceState);
    setContentView
(R.layout.activity_login);
    executor
= ContextCompat.getMainExecutor(this);
    biometricPrompt
= new BiometricPrompt(MainActivity.this,
            executor
, new BiometricPrompt.AuthenticationCallback() {
       
@Override
       
public void onAuthenticationError(int errorCode,
               
@NonNull CharSequence errString) {
           
super.onAuthenticationError(errorCode, errString);
           
Toast.makeText(getApplicationContext(),
               
"Authentication error: " + errString, Toast.LENGTH_SHORT)
               
.show();
       
}

       
@Override
       
public void onAuthenticationSucceeded(
               
@NonNull BiometricPrompt.AuthenticationResult result) {
           
super.onAuthenticationSucceeded(result);
           
Toast.makeText(getApplicationContext(),
               
"Authentication succeeded!", Toast.LENGTH_SHORT).show();
       
}

       
@Override
       
public void onAuthenticationFailed() {
           
super.onAuthenticationFailed();
           
Toast.makeText(getApplicationContext(), "Authentication failed",
               
Toast.LENGTH_SHORT)
               
.show();
       
}
   
});

    promptInfo
= new BiometricPrompt.PromptInfo.Builder()
           
.setTitle("Biometric login for my app")
           
.setSubtitle("Log in using your biometric credential")
           
.setNegativeButtonText("Use account password")
           
.build();

   
// Prompt appears when user clicks "Log in".
   
// Consider integrating with the keystore to unlock cryptographic operations,
   
// if needed by your app.
   
Button biometricLoginButton = findViewById(R.id.biometric_login);
    biometricLoginButton
.setOnClickListener(view -> {
            biometricPrompt
.authenticate(promptInfo);
   
});
}




// ldksjfgh

BiometricManager biometricManager = BiometricManager.from(this);
switch (biometricManager.canAuthenticate(BIOMETRIC_STRONG | DEVICE_CREDENTIAL)) {
   
case BiometricManager.BIOMETRIC_SUCCESS:
       
Log.d("MY_APP_TAG", "App can authenticate using biometrics.");
       
break;
   
case BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE:
       
Log.e("MY_APP_TAG", "No biometric features available on this device.");
       
break;
   
case BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE:
       
Log.e("MY_APP_TAG", "Biometric features are currently unavailable.");
       
break;
   
case BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED:
       
// Prompts the user to create credentials that your app accepts.
       
final Intent enrollIntent = new Intent(Settings.ACTION_BIOMETRIC_ENROLL);
        enrollIntent
.putExtra(Settings.EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED,
                BIOMETRIC_STRONG
| DEVICE_CREDENTIAL);
        startActivityForResult
(enrollIntent, REQUEST_CODE);
       
break;
}

Comments

Popular posts from this blog

PyCharm Project

Android Eclipse Project L.O.R.A

APP