gpt4 book ai didi

Android BiometricPrompt.Builder.authenticate() 不显示任何对话框

转载 作者:太空狗 更新时间:2023-10-29 13:02:36 24 4
gpt4 key购买 nike

这是我在 Android P 中显示指纹验证提示的代码:

private void displayBiometricPrompt() {
DialogInterface.OnClickListener onClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "Fingerprint Authentication cancelled", Toast.LENGTH_LONG);
}
};
BiometricPrompt bm = new BiometricPrompt.Builder(getApplicationContext())
.setTitle("Add a title")
.setSubtitle("Add a subtitle")
.setDescription("Add a description")
.setNegativeButton("CANCEL", getMainExecutor(), onClickListener)
.build();
bm.authenticate(getCancellationSignal(), getMainExecutor(), getAuthenticationCallback());
}

不幸的是它没有工作,因为它没有显示任何对话框或指纹授权提示。

我的代码也没有错误,我没有得到任何异常。

我检查了权限,一切似乎都符合生物识别提示的要求。

什么也没有发生。

谁能帮我找出方法?

感谢任何帮助

最佳答案

您需要检查一些事项才能使用生物识别提示:

1-运行的android版本应为Pie或以上

public static boolean isBiometricPromptEnabled() {
return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P);
}

2- 硬件应该可用

public static boolean isHardwareSupported(Context context) {
FingerprintManagerCompat fingerprintManager = FingerprintManagerCompat.from(context);
return fingerprintManager.isHardwareDetected();
}

3- 用户必须在设置中注册至少 1 个指纹

private static boolean isFingerprintAvailable(Context context) {
FingerprintManagerCompat fingerprintManager = FingerprintManagerCompat.from(context);
return fingerprintManager.hasEnrolledFingerprints();
}

关于Android BiometricPrompt.Builder.authenticate() 不显示任何对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53700488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com