问题描述
我正在实施 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 (将#修改为@)