在更新我正在开发的应用程序后,我试图让生物识别身份验证再次工作。但是我在激活它时不断收到同样的错误:
PlatformException(NotAvailable, Required security features not enabled, null, null)
Run Code Online (Sandbox Code Playgroud)
店里目前的一款完全没有问题。
我正在使用 local_auth:1.1.4
MainActivity.java 已转换为 FragmentedActivity
我正在做一个简单的检查,看看生物识别是否可用。他们是谁
PlatformException(NotAvailable, Required security features not enabled, null, null)
Run Code Online (Sandbox Code Playgroud)
之后我尝试进行身份验证
bool canCheckBiometrics = await auth.canCheckBiometrics;
List<BiometricType> availableBiometrics =
await auth.getAvailableBiometrics();
print(canCheckBiometrics); //Returns true
print(availableBiometrics.toString()); //Returns [BiometricType.fingerprint]
Run Code Online (Sandbox Code Playgroud)
这将返回:
PlatformException(NotAvailable, Required security features not enabled, null, null)
Run Code Online (Sandbox Code Playgroud)
这就是代码中的插件注释所说的。
// Indicates the device does not have a Touch ID/fingerprint scanner.
const String notAvailable = 'NotAvailable';
Run Code Online (Sandbox Code Playgroud)
我真的不确定要检查什么了。这是我需要注意的新事物吗?
真的希望有人能帮助我解决这个问题!
希望听到!
小智 7
首先,您需要从设置中向您的设备添加生物识别身份验证方法。
例如,如果您使用Pixel 2 API 32 作为 Android 模拟器,
同样,如果您尝试使用真实设备或其他模拟器,则需要启用指纹身份验证并重试。
我建议您在尝试对用户进行身份验证之前验证所有功能。
Future<bool> authenticateIsAvailable() async {
final isAvailable = await localAuth.canCheckBiometrics;
final isDeviceSupported = await localAuth.isDeviceSupported();
return isAvailable && isDeviceSupported;
}
Run Code Online (Sandbox Code Playgroud)
这样,您只能呼叫localAuth.authenticate已注册凭据的电话,并且可能没有例外。尽管如此,如果可能的话,请捕获错误。
| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |