1

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

类似的东西

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

会很棒的。这存在吗?

4

1 回答 1

0

我想通了,你使用包管理器。

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
        }
    }

希望这可以帮助其他人在未来

于 2020-06-26T20:14:11.430 回答