FingerprintManager
public
class
FingerprintManager
extends Object
| java.lang.Object | |
| ↳ | android.hardware.fingerprint.FingerprintManager |
A class that coordinates access to the fingerprint hardware.
Use getSystemService(java.lang.String)
with argument FINGERPRINT_SERVICE to get
an instance of this class.
Summary
Nested classes | |
|---|---|
class |
FingerprintManager.AuthenticationCallback
Callback structure provided to |
class |
FingerprintManager.AuthenticationResult
Container for callback data from |
class |
FingerprintManager.CryptoObject
A wrapper class for the crypto objects supported by FingerprintManager. |
Constants | |
|---|---|
int |
FINGERPRINT_ACQUIRED_GOOD
The image acquired was good. |
int |
FINGERPRINT_ACQUIRED_IMAGER_DIRTY
The fingerprint image was too noisy due to suspected or detected dirt on the sensor. |
int |
FINGERPRINT_ACQUIRED_INSUFFICIENT
The fingerprint image was too noisy to process due to a detected condition (i.e. |
int |
FINGERPRINT_ACQUIRED_PARTIAL
Only a partial fingerprint image was detected. |
int |
FINGERPRINT_ACQUIRED_TOO_FAST
The fingerprint image was incomplete due to quick motion. |
int |
FINGERPRINT_ACQUIRED_TOO_SLOW
The fingerprint image was unreadable due to lack of motion. |
int |
FINGERPRINT_ERROR_CANCELED
The operation was canceled because the fingerprint sensor is unavailable. |
int |
FINGERPRINT_ERROR_HW_UNAVAILABLE
The hardware is unavailable. |
int |
FINGERPRINT_ERROR_LOCKOUT
The operation was canceled because the API is locked out due to too many attempts. |
int |
FINGERPRINT_ERROR_NO_SPACE
Error state returned for operations like enrollment; the operation cannot be completed because there's not enough storage remaining to complete the operation. |
int |
FINGERPRINT_ERROR_TIMEOUT
Error state returned when the current request has been running too long. |
int |
FINGERPRINT_ERROR_UNABLE_TO_PROCESS
Error state returned when the sensor was unable to process the current image. |
Public methods | |
|---|---|
void
|
authenticate(FingerprintManager.CryptoObject crypto, CancellationSignal cancel, int flags, FingerprintManager.AuthenticationCallback callback, Handler handler)
Request authentication of a crypto object. |
boolean
|
hasEnrolledFingerprints()
Determine if there is at least one fingerprint enrolled. |
boolean
|
isHardwareDetected()
Determine if fingerprint hardware is present and functional. |
Inherited methods | |
|---|---|
java.lang.Object
| |
Constants
FINGERPRINT_ACQUIRED_GOOD
int FINGERPRINT_ACQUIRED_GOOD
The image acquired was good.
Constant Value: 0 (0x00000000)
FINGERPRINT_ACQUIRED_IMAGER_DIRTY
int FINGERPRINT_ACQUIRED_IMAGER_DIRTY
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.
Constant Value: 3 (0x00000003)
FINGERPRINT_ACQUIRED_INSUFFICIENT
int FINGERPRINT_ACQUIRED_INSUFFICIENT
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).
Constant Value: 2 (0x00000002)
FINGERPRINT_ACQUIRED_PARTIAL
int FINGERPRINT_ACQUIRED_PARTIAL
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."
Constant Value: 1 (0x00000001)
FINGERPRINT_ACQUIRED_TOO_FAST
int FINGERPRINT_ACQUIRED_TOO_FAST
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.
Constant Value: 5 (0x00000005)
FINGERPRINT_ACQUIRED_TOO_SLOW
int FINGERPRINT_ACQUIRED_TOO_SLOW
The fingerprint image was unreadable due to lack of motion. This is most appropriate for linear array sensors that require a swipe motion.
Constant Value: 4 (0x00000004)
FINGERPRINT_ERROR_CANCELED
int FINGERPRINT_ERROR_CANCELED
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.
Constant Value: 5 (0x00000005)
FINGERPRINT_ERROR_HW_UNAVAILABLE
int FINGERPRINT_ERROR_HW_UNAVAILABLE
The hardware is unavailable. Try again later.
Constant Value: 1 (0x00000001)
FINGERPRINT_ERROR_LOCKOUT
int FINGERPRINT_ERROR_LOCKOUT
The operation was canceled because the API is locked out due to too many attempts.
Constant Value: 7 (0x00000007)
FINGERPRINT_ERROR_NO_SPACE
int FINGERPRINT_ERROR_NO_SPACE
Error state returned for operations like enrollment; the operation cannot be completed because there's not enough storage remaining to complete the operation.
Constant Value: 4 (0x00000004)
FINGERPRINT_ERROR_TIMEOUT
int FINGERPRINT_ERROR_TIMEOUT
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.
Constant Value: 3 (0x00000003)
FINGERPRINT_ERROR_UNABLE_TO_PROCESS
int FINGERPRINT_ERROR_UNABLE_TO_PROCESS
Error state returned when the sensor was unable to process the current image.
Constant Value: 2 (0x00000002)
Public methods
authenticate
void authenticate (FingerprintManager.CryptoObject crypto, CancellationSignal cancel, int flags, FingerprintManager.AuthenticationCallback callback, Handler handler)
Request authentication of a crypto object. This call warms up the fingerprint hardware
and starts scanning for a fingerprint. It terminates when
onAuthenticationError(int, CharSequence) or
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 the USE_FINGERPRINT permission.
| Parameters | |
|---|---|
crypto |
FingerprintManager.CryptoObject: object associated with the call or null if none required.This value may be |
cancel |
CancellationSignal: an object that can be used to cancel authenticationThis value may be |
flags |
int: optional flags; should be 0 |
callback |
FingerprintManager.AuthenticationCallback: an object to receive authentication eventsThis value must never be |
handler |
Handler: an optional handler to handle callback eventsThis value may be |
| Throws | |
|---|---|
IllegalArgumentException |
if the crypto operation is not supported or is not backed by Android Keystore facility. |
IllegalStateException |
if the crypto primitive is not initialized. |
hasEnrolledFingerprints
boolean hasEnrolledFingerprints ()
Determine if there is at least one fingerprint enrolled.
Requires the USE_FINGERPRINT permission.
| Returns | |
|---|---|
boolean |
true if at least one fingerprint is enrolled, false otherwise |
isHardwareDetected
boolean isHardwareDetected ()
Determine if fingerprint hardware is present and functional.
Requires the USE_FINGERPRINT permission.
| Returns | |
|---|---|
boolean |
true if hardware is present and functional, false otherwise. |