我正在使用Kotlin设置生物特征登录。我可以使用它,但是我想根据可用的硬件(即)切换显示哪个图标。显示用于视网膜扫描的视网膜扫描仪图标,用于指纹扫描的指纹等。
到目前为止,我还没有找到能够确定这种情况的方法,而google机器并不是很有用。
类似于

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
        }
    }
希望这可以在将来帮助其他人

09-30 11:24