반응형
https://developer.android.com/training/sign-in/biometric-auth?hl=ko#java
build.gradle
implementation 'androidx.biometric:biometric:1.1.0'
AndroidManifest.xml
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
****
androidx 이걸로 임포트
import androidx.biometric.BiometricPrompt;
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);
});
}
promptInfo = new BiometricPrompt.PromptInfo.Builder()
.setTitle("지문 인증")
.setSubtitle("기기에 등록된 지문을 이용하여 지문을 인증해주세요.")
.setAllowedAuthenticators(BIOMETRIC_WEAK)
.setConfirmationRequired(false)
.setNegativeButtonText("취소")
.build();
해당되는 권한 체크해서 진행
반응형
'모바일 > Android' 카테고리의 다른 글
com.google.android.play:core:1.10.3 (0) | 2024.06.27 |
---|---|
기존 HTTP 또는 XMPP API(2023년 6월 20일에 지원 중단됨)의 기존 사용자는 2024년 6월 20일까지 최신 Firebase 클라우드 메시징 API(HTTP v1)로 마이그레이션해야 합니다. (0) | 2023.12.19 |
업로드 키 재설정 요청 (0) | 2023.10.30 |
동작 변경사항: Android 13 이상을 타겟팅하는 앱 (0) | 2023.06.26 |
Android Webview Cross-app Scripting Vulnerability (0) | 2023.04.25 |