常量USE_FINGERPRINTdeprecated in API level 28,我们应该使用在相同API级别中添加的更多通用USE_BIOMETRIC

我在 list 中交换了这些常量,并且在调用FingerprintManagerCompat.from(context).isHardwareDetected()时遇到错误。

错误是:



发生这种情况是因为28.0.0-rc3支持v4库中@RequiresPermission("android.permission.USE_FINGERPRINT")中的FingerprintManagerCompat批注。

这是我可以忽略并继续使用新权限的事情吗?

最佳答案

我也遇到过同样的问题,恕我直言,简短的答案是忽略弃用,只要您想要在您的应用程序中支持指纹认证。

google dev blog中所述,自API 28以来,google推出了新的biometrics API,它简化了生物识别身份验证的整个过程。它们为auth-dialog提供了一个简单的构建器。此外,它们也支持脸部和虹膜检测-恕我直言,如果要支持它只是时间问题,可能值得升级。

到目前为止,我发现的唯一缺点是,如果您要检查是否指纹硬件可用,您必须启动身份验证过程才能将其 checkout 并等待error callback。不建议使用的指纹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的更多信息。

09-05 20:24