我正在尝试使用生物识别弹窗来使用指纹传感器进行身份验证。我的最低支持的SDK为23(Android M)。
它在我测试的所有安卓版本上都能工作,除了棉花糖版(Marshmallow)。
在棉花糖版中,当我尝试在按钮点击上使用authenticate方法时,它会从BiometricPrompt.AuthenticationCallback调用onAuthenticationError方法,并且它给出错误代码ERROR_HW_NOT_PRESENT和错误消息:
此设备没有指纹传感器
即使设备上有指纹传感器,而且还添加了一个或多个指纹也是如此。
我已经在AndroidManifest.xml中添加了权限/功能。
我正在使用Jetpack库来完成这一切:
implementation 'androidx.biometric:biometric:1.0.0-alpha04'
FingerprintManager
,因为它是在 Android SDK 6.0 中全新推出的。您可以尝试使用直接使用FingerprintManager
的测试应用程序,看看会发生什么。 - CommonsWarePackageManager
来检查设备是否具有指纹传感器,但即使我的 Android 6 设备具有指纹传感器,PackageManager
也无法检测到它并通知指纹传感器未被检测到,但在同一设备上,FingerprintManager
能够检测到指纹传感器。 - Sabbir