FingerprintManager
open classFingerprintManager
kotlin.Any | |
↳ | android.hardware.fingerprint.FingerprintManager |
A class that coordinates access to the fingerprint hardware.
Requires the PackageManager#FEATURE_FINGERPRINT
feature which can be detected using PackageManager.hasSystemFeature(String)
.
Summary
Nested classes | |
---|---|
abstract |
Callback structure provided to |
open |
Container for callback data from |
A wrapper class for the crypto objects supported by FingerprintManager. |
Constants | |
---|---|
static Int |
The image acquired was good. |
static Int |
The fingerprint image was too noisy due to suspected or detected dirt on the sensor. |
static Int |
The fingerprint image was too noisy to process due to a detected condition (i.e. dry skin) or a possibly dirty sensor (See |
static Int |
Only a partial fingerprint image was detected. |
static Int |
The fingerprint image was incomplete due to quick motion. |
static Int |
The fingerprint image was unreadable due to lack of motion. |
static Int |
The operation was canceled because the fingerprint sensor is unavailable. |
static Int |
The device does not have a fingerprint sensor. |
static Int |
The hardware is unavailable. |
static Int |
The operation was canceled because the API is locked out due to too many attempts. |
static Int |
The operation was canceled because FINGERPRINT_ERROR_LOCKOUT occurred too many times. |
static Int |
The user does not have any fingerprints enrolled. |
static Int |
Error state returned for operations like enrollment; the operation cannot be completed because there's not enough storage remaining to complete the operation. |
static Int |
Error state returned when the current request has been running too long. |
static Int |
Error state returned when the sensor was unable to process the current image. |
static Int |
The user canceled the operation. |
static Int |
Hardware vendors may extend this list if there are conditions that do not fall under one of the above categories. |
Public methods | |
---|---|
open Unit |
authenticate(crypto: FingerprintManager.CryptoObject?, cancel: CancellationSignal?, flags: Int, callback: FingerprintManager.AuthenticationCallback, handler: Handler?) Request authentication of a crypto object. |
open Boolean |
Determine if there is at least one fingerprint enrolled. |
open Boolean |
Determine if fingerprint hardware is present and functional. |
Constants
FINGERPRINT_ACQUIRED_GOOD
static val FINGERPRINT_ACQUIRED_GOOD: Int
The image acquired was good.
Value: 0
FINGERPRINT_ACQUIRED_IMAGER_DIRTY
static val FINGERPRINT_ACQUIRED_IMAGER_DIRTY: Int
The fingerprint image was too noisy due to suspected or detected dirt on the sensor. For example, it's reasonable return this after multiple FINGERPRINT_ACQUIRED_INSUFFICIENT
or actual detection of dirt on the sensor (stuck pixels, swaths, etc.). The user is expected to take action to clean the sensor when this is returned.
Value: 3
FINGERPRINT_ACQUIRED_INSUFFICIENT
static val FINGERPRINT_ACQUIRED_INSUFFICIENT: Int
The fingerprint image was too noisy to process due to a detected condition (i.e. dry skin) or a possibly dirty sensor (See FINGERPRINT_ACQUIRED_IMAGER_DIRTY
).
Value: 2
FINGERPRINT_ACQUIRED_PARTIAL
static val FINGERPRINT_ACQUIRED_PARTIAL: Int
Only a partial fingerprint image was detected. During enrollment, the user should be informed on what needs to happen to resolve this problem, e.g. "press firmly on sensor."
Value: 1
FINGERPRINT_ACQUIRED_TOO_FAST
static val FINGERPRINT_ACQUIRED_TOO_FAST: Int
The fingerprint image was incomplete due to quick motion. While mostly appropriate for linear array sensors, this could also happen if the finger was moved during acquisition. The user should be asked to move the finger slower (linear) or leave the finger on the sensor longer.
Value: 5
FINGERPRINT_ACQUIRED_TOO_SLOW
static val FINGERPRINT_ACQUIRED_TOO_SLOW: Int
The fingerprint image was unreadable due to lack of motion. This is most appropriate for linear array sensors that require a swipe motion.
Value: 4
FINGERPRINT_ERROR_CANCELED
static val FINGERPRINT_ERROR_CANCELED: Int
The operation was canceled because the fingerprint sensor is unavailable. For example, this may happen when the user is switched, the device is locked or another pending operation prevents or disables it.
Value: 5
FINGERPRINT_ERROR_HW_NOT_PRESENT
static val FINGERPRINT_ERROR_HW_NOT_PRESENT: Int
The device does not have a fingerprint sensor.
Value: 12
FINGERPRINT_ERROR_HW_UNAVAILABLE
static val FINGERPRINT_ERROR_HW_UNAVAILABLE: Int
The hardware is unavailable. Try again later.
Value: 1
FINGERPRINT_ERROR_LOCKOUT
static val FINGERPRINT_ERROR_LOCKOUT: Int
The operation was canceled because the API is locked out due to too many attempts. This occurs after 5 failed attempts, and lasts for 30 seconds.
Value: 7
FINGERPRINT_ERROR_LOCKOUT_PERMANENT
static val FINGERPRINT_ERROR_LOCKOUT_PERMANENT: Int
The operation was canceled because FINGERPRINT_ERROR_LOCKOUT occurred too many times. Fingerprint authentication is disabled until the user unlocks with strong authentication (PIN/Pattern/Password)
Value: 9
FINGERPRINT_ERROR_NO_FINGERPRINTS
static val FINGERPRINT_ERROR_NO_FINGERPRINTS: Int
The user does not have any fingerprints enrolled.
Value: 11
FINGERPRINT_ERROR_NO_SPACE
static val FINGERPRINT_ERROR_NO_SPACE: Int
Error state returned for operations like enrollment; the operation cannot be completed because there's not enough storage remaining to complete the operation.
Value: 4
FINGERPRINT_ERROR_TIMEOUT
static val FINGERPRINT_ERROR_TIMEOUT: Int
Error state returned when the current request has been running too long. This is intended to prevent programs from waiting for the fingerprint sensor indefinitely. The timeout is platform and sensor-specific, but is generally on the order of 30 seconds.
Value: 3
FINGERPRINT_ERROR_UNABLE_TO_PROCESS
static val FINGERPRINT_ERROR_UNABLE_TO_PROCESS: Int
Error state returned when the sensor was unable to process the current image.
Value: 2
FINGERPRINT_ERROR_USER_CANCELED
static val FINGERPRINT_ERROR_USER_CANCELED: Int
The user canceled the operation. Upon receiving this, applications should use alternate authentication (e.g. a password). The application should also provide the means to return to fingerprint authentication, such as a "use fingerprint" button.
Value: 10
FINGERPRINT_ERROR_VENDOR
static val FINGERPRINT_ERROR_VENDOR: Int
Hardware vendors may extend this list if there are conditions that do not fall under one of the above categories. Vendors are responsible for providing error strings for these errors. These messages are typically reserved for internal operations such as enrollment, but may be used to express vendor errors not covered by the ones in fingerprint.h. Applications are expected to show the error message string if they happen, but are advised not to rely on the message id since they will be device and vendor-specific
Value: 8
Public methods
authenticate
open funauthenticate(
crypto: FingerprintManager.CryptoObject?,
cancel: CancellationSignal?,
flags: Int,
callback: FingerprintManager.AuthenticationCallback,
handler: Handler?
): Unit
Deprecated: See BiometricPrompt#authenticate(CancellationSignal, Executor,
and BiometricPrompt#authenticate(
Request authentication of a crypto object. This call warms up the fingerprint hardware and starts scanning for a fingerprint. It terminates when AuthenticationCallback#onAuthenticationError(int, CharSequence)
or AuthenticationCallback#onAuthenticationSucceeded(AuthenticationResult)
is called, at which point the object is no longer valid. The operation can be canceled by using the provided cancel object.
Requires android.Manifest.permission#USE_BIOMETRIC
or android.Manifest.permission#USE_FINGERPRINT
Parameters | |
---|---|
crypto |
FingerprintManager.CryptoObject?: object associated with the call or null if none required. |
cancel |
CancellationSignal?: an object that can be used to cancel authentication This value may be null . |
flags |
Int: optional flags; should be 0 |
callback |
FingerprintManager.AuthenticationCallback: an object to receive authentication events This value cannot be null . |
handler |
Handler?: an optional handler to handle callback events This value may be null . |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if the crypto operation is not supported or is not backed by Android Keystore facility. |
java.lang.IllegalStateException |
if the crypto primitive is not initialized. |
hasEnrolledFingerprints
open funhasEnrolledFingerprints(): Boolean
Deprecated: See BiometricPrompt
and FingerprintManager#FINGERPRINT_ERROR_NO_FINGERPRINTS
Determine if there is at least one fingerprint enrolled.
Requires android.Manifest.permission#USE_FINGERPRINT
Return | |
---|---|
Boolean |
true if at least one fingerprint is enrolled, false otherwise |
isHardwareDetected
open funisHardwareDetected(): Boolean
Deprecated: See BiometricPrompt
and FingerprintManager#FINGERPRINT_ERROR_HW_UNAVAILABLE
Determine if fingerprint hardware is present and functional.
Requires android.Manifest.permission#USE_FINGERPRINT
Return | |
---|---|
Boolean |
true if hardware is present and functional, false otherwise. |