我正在使用 kotlin 设置生物识别登录。我让它工作,但我想根据可用的硬件切换显示哪个图标,即。显示用于视网膜扫描的视网膜扫描仪图标、用于指纹扫描的指纹等。到目前为止,通过文档挖掘我还没有找到一种方法来确定这一点,而且谷歌机器并不是很有用。
类似的东西
when (biometricManager.biometricType) {
face -> {}
fingerprint -> {}
retinaScanner -> {}
}
会很棒的。这存在吗?
我正在使用 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
}
}
希望这可以帮助其他人在未来