Advertisement
Baru_Berbagi

MainActivity.java

May 13th, 2021
654
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.22 KB | None | 0 0
  1. package com.baruberbagi.fingerprint;
  2.  
  3. import androidx.annotation.NonNull;
  4. import androidx.appcompat.app.AppCompatActivity;
  5. import androidx.biometric.BiometricManager;
  6. import androidx.biometric.BiometricPrompt;
  7. import androidx.core.content.ContextCompat;
  8.  
  9. import android.content.Context;
  10. import android.graphics.Color;
  11. import android.os.Bundle;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.widget.TextView;
  15. import android.widget.Toast;
  16.  
  17. import java.util.concurrent.Executor;
  18.  
  19. public class MainActivity extends AppCompatActivity {
  20.  
  21.     @Override
  22.     protected void onCreate(Bundle savedInstanceState) {
  23.         super.onCreate(savedInstanceState);
  24.         setContentView(R.layout.activity_main);
  25.  
  26.  
  27.         TextView msg_txt = findViewById(R.id.txt_msg);
  28.         Button login_btn = findViewById(R.id.login_btn);
  29.  
  30.         BiometricManager biometricManager = BiometricManager.from(this);
  31.         switch (biometricManager.canAuthenticate()) {
  32.             case BiometricManager.BIOMETRIC_SUCCESS:
  33.                 msg_txt.setText("You can the fingerprint sensor to login");
  34.                 msg_txt.setTextColor(Color.parseColor("#Fafafa"));
  35.                 break;
  36.  
  37.             case BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE:
  38.                 msg_txt.setText("the device don't have a fingerprint sensor");
  39.                 login_btn.setVisibility(View.GONE);
  40.                 break;
  41.  
  42.             case BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE:
  43.                 msg_txt.setText("the biometric sensors is currently unavailable");
  44.                 login_btn.setVisibility(View.GONE);
  45.                 break;
  46.  
  47.             case BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED:
  48.                 msg_txt.setText("your device don't have any fingerprint saved, please check your securty settings");
  49.                 login_btn.setVisibility(View.GONE);
  50.                 break;
  51.  
  52.         }
  53.  
  54.  
  55.         Executor executor = ContextCompat.getMainExecutor(this);
  56.  
  57.         final BiometricPrompt biometricPrompt = new BiometricPrompt(MainActivity.this, executor, new BiometricPrompt.AuthenticationCallback() {
  58.             @Override
  59.             public void onAuthenticationError(int errorCode, @NonNull CharSequence errString) {
  60.                 super.onAuthenticationError(errorCode, errString);
  61.             }
  62.  
  63.             @Override
  64.             public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationResult result) {
  65.                 super.onAuthenticationSucceeded(result);
  66.                 Toast.makeText(getApplicationContext(), "Login Succes !", Toast.LENGTH_SHORT).show();
  67.             }
  68.  
  69.             @Override
  70.             public void onAuthenticationFailed() {
  71.                 super.onAuthenticationFailed();
  72.             }
  73.         });
  74.  
  75.  
  76.     final BiometricPrompt.PromptInfo promptInfo = new BiometricPrompt.PromptInfo.Builder()
  77.             .setTitle("Login")
  78.             .setDescription("User your to Login to your app")
  79.             .setNegativeButtonText("Cancel")
  80.             .build();
  81.  
  82.     login_btn.setOnClickListener(new View.OnClickListener() {
  83.         @Override
  84.         public void onClick(View v) {
  85.             biometricPrompt.authenticate(promptInfo);
  86.         }
  87.     });
  88.  
  89.     }
  90. }
  91.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement