0

但是我可以在我的应用程序中使用生物识别提示或任何其他 android api 来实现人脸身份验证吗?如果没有,是否有任何 sdk 可用于在我的应用程序中实现此功能?

4

1 回答 1

0

您可以使用 BiometricPrompt 类来创建一个提示对话框,该对话框只使用用户已初始化的任何生物识别凭证(例如指纹,还有面部)。您可以使用以下步骤创建身份验证对话框:

第 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);

检查android 文档以获取更多信息。

于 2020-06-15T08:14:08.800 回答