android - 确定 Android 可用的生物识别硬件类型

标签 android android-studio kotlin android-biometric-prompt android-biometric

我正在使用 kotlin 设置生物识别登录。我可以正常工作,但我想根据可用的硬件切换显示哪个图标,即。显示用于视网膜扫描的视网膜扫描仪图标、用于指纹扫描的指纹等。 到目前为止,通过深入研究文档,我还没有找到确定这一点的方法,而且谷歌机器也不是很有用。

类似的东西

when (biometricManager.biometricType) {
face -> {}
fingerprint -> {}
retinaScanner -> {}
}

会很棒的。这个存在吗?

最佳答案

我明白了,你使用包管理器。

enum class BiometricType {
            Iris, Fingerprint, Face, None
        }

fun biometricType(context: Context): BiometricType {
        return when {
            context.applicationContext.packageManager.hasSystemFeature(PackageManager.FEATURE_FACE) -> BiometricType.Face
            context.applicationContext.packageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT) -> BiometricType.Fingerprint
            context.applicationContext.packageManager.hasSystemFeature(PackageManager.FEATURE_IRIS) -> BiometricType.Iris
            else -> BiometricType.None
        }
    }

希望这对其他人将来有所帮助

关于android - 确定 Android 可用的生物识别硬件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62602063/

相关文章:

android - GCM 错误 - googleCloudMessaging.register

android - 了解 drawRect 或绘图坐标在 Android 中的实际工作方式

android - 契约(Contract) Android 开发人员离开,需要在没有原始 keystore 的情况下更新应用程序 - 这可能吗?

android - 在 Android Studio 的设计选项卡中看不到实时预览

kotlin - 通过反射查找可为空的属性

android - 滑动抽屉背景色

java - Android Studio 原生 Java 应用程序开发中是否有 `hot reload` 功能?

安卓工作室 : All classes bugged

java - 如何在基于 Java 的 Android 应用程序中实现 Datastore?

android - 重载解析歧义HashMap.get kotlin