如何防止 BiometricPrompt 在三星设备上的黑屏窗口上打开?

问题描述

我正在实施 BiometricPrompt API,但在运行 OS 10 的三星 Galaxy S10e 上遇到了不良行为。

BiometricPrompt 对话框显示在黑屏上,而不是在后台显示我的登录页面。如果我点击设备上的概览(方形)按钮,我可以简要地看到它存在于它自己的窗口中,而在我在 Pixel 设备上的测试中,该对话框与我的应用程序存在于同一窗口中。我观察到此 API 的 1.0.0 版和 1.1.0 版都存在问题。

片段 onCreate():

biometricPrompt = new BiometricPrompt(
    this,ContextCompat.getMainExecutor(requireContext()),createBiometricAuthenticationCallback()
);

onClick():

biometricPrompt.authenticate(new BiometricPrompt.PromptInfo.Builder()
    .setTitle([...])
    .setSubtitle([...])
    .setDescription([...])
    .setAllowedAuthenticators(BIOMETRIC_WEAK | DEVICE_CREDENTIAL)
    .build());

我尝试使用 FragmentActivity 而不是 Fragment 来初始化它,但这不会影响它。如果我启动使用 KeyguardManager 创建的 Intent 而不是使用 BiometricPrompt,它可以正常工作,但已弃用,因此似乎不是理想的长期解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...