How to check device compatibility for finger print authentication in android

后端 未结 4 1328
感情败类
感情败类 2020-12-04 22:09

I am working with finger print authentication using android 6.0 api. My requirement is, if current device is supports finger print authentication, then I will go through fi

4条回答
  •  攒了一身酷
    2020-12-04 22:39

    You have to use method isHardwareDetected on FingerprintManager class.

    Determine if fingerprint hardware is present and functional. Returns true if hardware is present and functional, false otherwise.

    // Check if we're running on Android 6.0 (M) or higher
    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 
        }
    }
    

    Don't forget to add permission to access fingerprint functions in AndroidManifest. Since API 28:

    
    

    Before API28:

    
    

    With Support Library

    If you don't want to check Build.VERSION, it's also possible to check on device lower than Android 6.0 with Support Library

    Add dependency:

    compile "com.android.support:support-v4:23.0.0"
    

    And use FingerprintManagerCompat class as this:

    FingerprintManagerCompat fingerprintManagerCompat = FingerprintManagerCompat.from(context);
    
    if (!fingerprintManagerCompat.isHardwareDetected()) { 
        // Device doesn't support fingerprint authentication     
    } else if (!fingerprintManagerCompat.hasEnrolledFingerprints()) { 
        // User hasn't enrolled any fingerprints to authenticate with 
    } else { 
        // Everything is ready for fingerprint authentication 
    }
    

提交回复
热议问题