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.
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 | |
---|---|
From
class
java.lang.Object
|
int FINGERPRINT_ACQUIRED_GOOD
The image acquired was good.
Constant Value: 0 (0x00000000)
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)
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)
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)
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)
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)
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)
int FINGERPRINT_ERROR_HW_UNAVAILABLE
The hardware is unavailable. Try again later.
Constant Value: 1 (0x00000001)
int FINGERPRINT_ERROR_LOCKOUT
The operation was canceled because the API is locked out due to too many attempts.
Constant Value: 7 (0x00000007)
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)
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)
int FINGERPRINT_ERROR_UNABLE_TO_PROCESS
Error state returned when the sensor was unable to process the current image.
Constant Value: 2 (0x00000002)
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.
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 |
flags |
int :
optional flags; should be 0 |
callback |
FingerprintManager.AuthenticationCallback :
an object to receive authentication events |
handler |
Handler :
an optional handler to handle callback events |
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. |
boolean hasEnrolledFingerprints ()
Determine if there is at least one fingerprint enrolled.
Returns | |
---|---|
boolean |
true if at least one fingerprint is enrolled, false otherwise |
boolean isHardwareDetected ()
Determine if fingerprint hardware is present and functional.
Returns | |
---|---|
boolean |
true if hardware is present and functional, false otherwise. |