3

我正在实施 BiometricPrompt API 并在带有 OS 10 的三星 Galaxy S10e 上遇到不良行为。

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

片段 onCreate():

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

点击():

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

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

4

0 回答 0