在像素4XL(Android Q)上进行生物识别测试失败,无法返回BIOMETRIC_ERROR_HW_UNAVAILABLE
。
我已经设置了人脸识别
Android清单文件
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
等级依赖性
dependencies {
implementation "androidx.biometric:biometric:1.0.1"
}
测试代码
private boolean setBIOSetup()
{
BiometricManager biometricManager = BiometricManager.from(getActivity());
switch (biometricManager.canAuthenticate())
{
case BiometricManager.BIOMETRIC_SUCCESS:
return true;
case BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE:
Toast.makeText(getActivity(), "No biometric hardware installed",
Toast.LENGTH_LONG).show();
case BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE:
Toast.makeText(getActivity(), "Biometric hardware unavailable.",
Toast.LENGTH_LONG).show();
break;
case BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED:
Toast.makeText(getActivity(), "No biometrics enrolled", Toast.LENGTH_LONG).show();
break;
}
return false;
}
在2XL像素上,它返回BIOMETRIC_SUCCESS
用于指纹生物识别
但对于
Pixel 4XL返回BIOMETRIC_ERROR_HW_UNAVAILABLE
任何帮助将不胜感激
谢谢
答案 0 :(得分:1)
Pixel 4和4 XL不具有任何指纹传感器,而仅具有面部解锁功能。
您已经针对该库提交了错误,请参见问题#146978096
并且您应该遵循他们的建议来运行adb bugreport foo.zip
。
BiometricManager
.canAuthenticate()
至少说明了三个先决条件:
确定是否可以使用生物识别技术,或者等效地确定是否可以显示BiometricPrompt。
- 可用的硬件
- 已注册的模板
- 用户启用
如果确实是一个错误,则必须等到androidx.biometric:biometric:1.0.2
被发布。