如何在Android 11中检测指纹硬件

Gha*_*yas 5 android fingerprint kotlin android-fingerprint-api

如何检测手机是否有指纹硬件。我想要一个检测指纹硬件的代码。

我使用了这段代码,但此代码在“isHardwareDetected()”此方法上显示错误。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    //Fingerprint API only available on from Android 6.0 (M)
    FingerprintManager fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
    if (!fingerprintManager.isHardwareDetected()) { 
        // Device doesn't support fingerprint authentication     
    } else if (!fingerprintManager.hasEnrolledFingerprints()) { 
        // User hasn't enrolled any fingerprints to authenticate with 
    } else { 
        // Everything is ready for fingerprint authentication 
    }
}

Run Code Online (Sandbox Code Playgroud)

Gha*_*yas 5

我对问题代码做了一个小小的更改,现在工作正常。

但该类“FingerprintManagerCompat”已被弃用

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            val manager = FingerprintManagerCompat.from(this)
            if (!manager.isHardwareDetected) {
                Log.e("tag","Fingerprint hardware not detected.")
            } else if (!manager.hasEnrolledFingerprints()) {
                Log.e("tag","No fingerprint is set")
            } else {
                Log.e("tag","Fingerprint is set")
            }
        }
Run Code Online (Sandbox Code Playgroud)