Java 关于提示。authenticate()

Java 关于提示。authenticate(),java,android,android-biometric-prompt,Java,Android,Android Biometric Prompt,在《Android开发者参考》中,我发现了这句话: 此呼叫使生物识别硬件升温,显示提供的系统 对话框,并开始扫描生物特征 此调用验证用户是否在smarthphone上具有指纹?如果没有,我如何验证 private void setLoginFingerprint() { final Executor executor = Executors.newSingleThreadExecutor(); final BiometricPrompt biometricPro

在《Android开发者参考》中,我发现了这句话:

此呼叫使生物识别硬件升温,显示提供的系统 对话框,并开始扫描生物特征

此调用验证用户是否在smarthphone上具有指纹?如果没有,我如何验证

 private void setLoginFingerprint() {
        final Executor executor = Executors.newSingleThreadExecutor();
        final BiometricPrompt biometricPrompt = new BiometricPrompt.Builder(this)
                .setTitle("")
                .setSubtitle("")
                .setDescription("")
                .setNegativeButton("Cancel", executor, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        finish();
                    }
                }).build();


        loginFingerprint = findViewById(R.id.ll_leitor_digital);
        loginFingerprint.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                biometricPrompt.authenticate(new CancellationSignal(), executor, new BiometricPrompt.AuthenticationCallback() {
                    @Override
                    public void onAuthenticationError(int errorCode, CharSequence errString) {
                        super.onAuthenticationError(errorCode, errString);
                        LoginActivity.this.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(LoginActivity.this, "Error!", Toast.LENGTH_SHORT).show();
                            }
                        });
                    }

                    @Override
                    public void onAuthenticationSucceeded(BiometricPrompt.AuthenticationResult result) {
                        super.onAuthenticationSucceeded(result);
                        LoginActivity.this.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(LoginActivity.this, "Auth!", Toast.LENGTH_SHORT).show();

                            }
                        });
                    }

                    @Override
                    public void onAuthenticationFailed() {
                        super.onAuthenticationFailed();
                        LoginActivity.this.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(LoginActivity.this, "Error", Toast.LENGTH_SHORT).show();
                            }
                        });
                    }
                });
            }
        });
    }

在这种情况下,它将给出一个
生物识别错误\u HW\u NOT \u PRESENT
错误。如果发生这种情况,请使用。然后,他们可以使用PIN或他们设置的任何身份验证方法进行身份验证。要处理此问题,请在身份验证错误中检查错误代码是否为生物识别错误。如果是,请使用
KeyguardManager