Android 9上的BiometricManager

世事洞明皆学问,人情练达即文章。这篇文章主要讲述Android 9上的BiometricManager相关的知识,希望能为你提供帮助。
据说android 9 / Android P(API 28)通过BiometricPrompt支持面部识别。我阅读的所有教程均使用BiometricManager来检测面部识别支持-但直到API 29(Android 10 / Android Q)才添加此类。
所以,如何检测API 28上的面部识别支持?
【Android 9上的BiometricManager】[我的首选是不使用AndroidX支持库就这样做,因为我已经阅读了有关在API 28及更低版本上运行时支持库的BiometricManager.canAuthenticate()结果的含义的冲突信息。
答案回答我自己的问题。似乎即使在Android 10上也是如此无法确定设备是否支持面部识别,因为如果设备支持指纹认证,则BiometricManager.canAuthenticate()将返回成功。从API Docs:

这等同于带有Authenticators#BIOMETRIC_WEAK的canAuthenticate(int)
并且BiometricManager.canAuthenticate(int)在API 30之前不可用。
因此,在Android 10上使用BiometricManager与使用已弃用的FingerprintManager没什么不同。
因此,请回到我对Android 9上BiometricManager支持的问题。在Android 9设备上运行FingerprintManagerBiometricManager之间没有区别。因此,BiometricManager的等效项是FingerprintManager
但这对像我这样正在寻找一种确定该设备是否支持面部识别的方法的人没有帮助的人。似乎没有任何方法可以确定此Android 11之前的版本。

    推荐阅读