常量USE_FINGERPRINT
在API级别28中被弃用,我们应该使用更通用的USE_BIOMETRIC
,它已在相同的API级别中添加。
我在Manifest中交换了这些常量,在调用FingerprintManagerCompat.from(context).isHardwareDetected()
时出现错误。
错误为:
缺少所需的权限- USE_FINGERPRINT
这是因为28.0.0-rc 3 support v4 lib中FingerprintManagerCompat
中的@RequiresPermission("android.permission.USE_FINGERPRINT")
注解。
我是否可以忽略此问题并继续使用新权限?
3条答案
按热度按时间mwkjh3gx1#
我也遇到过同样的问题,我的简短回答是忽略弃用,只要你只想在你的应用程序中支持指纹认证。
正如在google dev blog中所述,由于API 28,谷歌推出了新的biometrics API,简化了生物识别认证的整个过程。它们为auth-dialog提供了一个简单的构建器。此外,它们还支持人脸和虹膜检测--如果你想支持它,这只是时间问题,可能值得升级。
到目前为止,我发现的唯一缺点是,如果你想检查例如。如果指纹硬件可用,则必须启动身份验证过程来检查此信息并等待错误回调。已弃用的指纹API为此提供了
isHardwareDetected()
或hasEnrolledFingerprints()
等方法。在这种情况下,如果您依赖这些信息,您可能需要重新设计应用程序。这些方法被弃用的原因可能是,它只支持指纹,因此升级它不是一个坏主意。Google还为API 28以下的设备提供了 compat
'androidx.biometric:biometric:1.0.0-alpha02'
版本,似乎通过导入此依赖项,您可以简单地切换到USE_BIOMETRIC
权限,而无需修改应用中的任何其他内容-您将不再受到警告的困扰。因为它只是在alpha阶段,我会小心使用它。因此,只要您不使用生物识别API中的任何内容,您也可以简单地忽略这个问题,并在希望支持其他生物识别身份验证方法时再次面对它。编辑:现在发布了compat库的beta版本,
'androidx.biometric:biometric:1.0.0-beta01'
。更多信息,check here。现在,compat库的稳定版本将于2019年12月18日发布,“androidx.biometric:biometric:1.0.1”。关于Click here的更多信息。
qmelpv7a2#
biometrics API提供用于错误处理的生物统计常数
8wtpewkr3#
我知道现在已经很晚了,但是对于那些想知道你应该做什么的人来说,使用以下代码:
首先添加此依赖:
然后在你的登录活动中写这段代码: