如何在 android x 中使用生物识别提示实现人脸认证?
How can i implement face authentication using biometric prompt in android x?
但是我可以在我的应用程序中使用生物识别提示或任何其他 android api 来实现面部身份验证吗?
如果没有,是否有任何 sdk 可用于在我的应用程序中实现此功能?
您可以使用 BiometricPrompt class 创建一个仅使用 任何 用户已初始化的生物特征凭据(例如指纹和面部)的提示对话框。
您可以通过以下步骤创建身份验证对话框:
第 1 步:将依赖项添加到 app/
中的 build.gradle 文件
dependencies {
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 onAuthenticationSucceeded(
@NonNull BiometricPrompt.AuthenticationResult result) {
super.onAuthenticationSucceeded(result);
// authenticated
}
@Override
public void onAuthenticationFailed() {
super.onAuthenticationFailed();
// authentication failed
}
});
promptInfo = new BiometricPrompt.PromptInfo.Builder()
.setTitle("Biometric Authentication")
.setSubtitle("Log in with your biometric credentials")
.build();
}
调用此方法将显示对话框:
biometricPrompt.authenticate(promptInfo);
查看 the android doc 了解更多信息。
但是我可以在我的应用程序中使用生物识别提示或任何其他 android api 来实现面部身份验证吗? 如果没有,是否有任何 sdk 可用于在我的应用程序中实现此功能?
您可以使用 BiometricPrompt class 创建一个仅使用 任何 用户已初始化的生物特征凭据(例如指纹和面部)的提示对话框。 您可以通过以下步骤创建身份验证对话框:
第 1 步:将依赖项添加到 app/
中的 build.gradle 文件dependencies {
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 onAuthenticationSucceeded(
@NonNull BiometricPrompt.AuthenticationResult result) {
super.onAuthenticationSucceeded(result);
// authenticated
}
@Override
public void onAuthenticationFailed() {
super.onAuthenticationFailed();
// authentication failed
}
});
promptInfo = new BiometricPrompt.PromptInfo.Builder()
.setTitle("Biometric Authentication")
.setSubtitle("Log in with your biometric credentials")
.build();
}
调用此方法将显示对话框:
biometricPrompt.authenticate(promptInfo);
查看 the android doc 了解更多信息。