FingerprintManager.hasEnrolledFingerprints()返回true,未注册指纹

时间:2017-05-03 06:55:01

标签: android

我面临的问题是,在一些拥有指纹识别器的Android设备上,方法FingerprintManager.hasEnrolledFingerprints()会返回true,尽管此设备上没有注册指纹。 在尝试生成密钥之后,这会导致崩溃,如下所示:

Caused by: java.lang.IllegalStateException: At least one fingerprint 
must be enrolled to create keys requiring user authentication for every use

at android.security.keystore.KeymasterUtils.addUserAuthArgs(KeymasterUtils.java:115)                                                                                             at android.security.keystore.AndroidKeyStoreKeyGeneratorSpi.engineInit(AndroidKeyStoreKeyGeneratorSpi.java:234)                                                                                              
at android.security.keystore.AndroidKeyStoreKeyGeneratorSpi$AES.engineInit(AndroidKeyStoreKeyGeneratorSpi.java:53)                                                                                                   
at javax.crypto.KeyGenerator.init(KeyGenerator.java:189)... 

在检查指纹是否已注册之前,我检查FingerprintManager.isHardwareDetected(),因为这是之前问题的根源。在寻找解决方案时,我发现了一些条目,注意到某些仿真器中注意到了这种行为,但没有人提到物理设备。

注意:有问题的设备不在我手中,但通过日志,我可以确认问题是重复出现。

如果有人遇到同样的问题,我会非常感激 任何建议如何解决这个问题。

0 个答案:

没有答案