public class FingerprintManager
extends Object
java.lang.Object | |
↳ | android.hardware.fingerprint.FingerprintManager |
协调对指纹硬件的访问的类。
使用 getSystemService(java.lang.String)
和参数 FINGERPRINT_SERVICE
来获取此类的实例。
Nested classes |
|
---|---|
class |
FingerprintManager.AuthenticationCallback 回调结构提供给 |
class |
FingerprintManager.AuthenticationResult 回调数据的容器来自 |
class |
FingerprintManager.CryptoObject FingerprintManager支持的加密对象的包装类。 |
Constants |
|
---|---|
int |
FINGERPRINT_ACQUIRED_GOOD 获得的图像很好。 |
int |
FINGERPRINT_ACQUIRED_IMAGER_DIRTY 由于怀疑或检测到传感器上的污垢,指纹图像过于嘈杂。 |
int |
FINGERPRINT_ACQUIRED_INSUFFICIENT 由于检测到的条件(即,指纹图像过于嘈杂而无法处理 |
int |
FINGERPRINT_ACQUIRED_PARTIAL 只检测到部分指纹图像。 |
int |
FINGERPRINT_ACQUIRED_TOO_FAST 由于快速运动,指纹图像不完整。 |
int |
FINGERPRINT_ACQUIRED_TOO_SLOW 由于缺乏运动,指纹图像不可读。 |
int |
FINGERPRINT_ERROR_CANCELED 由于指纹传感器不可用,操作被取消。 |
int |
FINGERPRINT_ERROR_HW_UNAVAILABLE 硬件不可用。 |
int |
FINGERPRINT_ERROR_LOCKOUT 该操作被取消是因为尝试过多API被锁定。 |
int |
FINGERPRINT_ERROR_NO_SPACE 针对注册等操作返回错误状态; 该操作无法完成,因为没有足够的存储空间来完成操作。 |
int |
FINGERPRINT_ERROR_TIMEOUT 错误状态在当前请求运行时间过长时返回。 |
int |
FINGERPRINT_ERROR_UNABLE_TO_PROCESS 传感器无法处理当前图像时返回错误状态。 |
Public methods |
|
---|---|
void |
authenticate(FingerprintManager.CryptoObject crypto, CancellationSignal cancel, int flags, FingerprintManager.AuthenticationCallback callback, Handler handler) 请求验证密码对象。 |
boolean |
hasEnrolledFingerprints() 确定是否至少有一个指纹登记。 |
boolean |
isHardwareDetected() 确定指纹硬件是否存在并且功能正常。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int FINGERPRINT_ACQUIRED_GOOD
获得的图像很好。
常量值:0(0x00000000)
int FINGERPRINT_ACQUIRED_IMAGER_DIRTY
由于怀疑或检测到传感器上的污垢,指纹图像过于嘈杂。 例如,在多次FINGERPRINT_ACQUIRED_INSUFFICIENT
或实际检测到传感器上的污垢(卡住的像素,条等)后,合理地返回该值。 返回时,用户需要采取措施清洁传感器。
常量值:3(0x00000003)
int FINGERPRINT_ACQUIRED_INSUFFICIENT
由于检测到的条件(即皮肤干燥)或可能脏的传感器(参见 FINGERPRINT_ACQUIRED_IMAGER_DIRTY
),指纹图像过于嘈杂而无法处理。
常量值:2(0x00000002)
int FINGERPRINT_ACQUIRED_PARTIAL
只检测到部分指纹图像。 在注册期间,应告知用户需要解决此问题的方式,例如“牢牢按压传感器”。
常数值:1(0x00000001)
int FINGERPRINT_ACQUIRED_TOO_FAST
由于快速运动,指纹图像不完整。 虽然大多数情况下适用于线性阵列传感器,但如果在采集期间移动手指,也会发生这种情况 应该要求用户将手指放慢(线性)或将手指放在传感器上。
常量值:5(0x00000005)
int FINGERPRINT_ACQUIRED_TOO_SLOW
由于缺乏运动,指纹图像不可读。 这对于需要轻扫动作的线性阵列传感器来说是最合适的。
常量值:4(0x00000004)
int FINGERPRINT_ERROR_CANCELED
由于指纹传感器不可用,操作被取消。 例如,这可能发生在用户切换,设备被锁定或其他未决操作阻止或禁用它的情况下。
常量值:5(0x00000005)
int FINGERPRINT_ERROR_HW_UNAVAILABLE
硬件不可用。 稍后再试。
常数值:1(0x00000001)
int FINGERPRINT_ERROR_LOCKOUT
该操作被取消是因为尝试过多API被锁定。
常量值:7(0x00000007)
int FINGERPRINT_ERROR_NO_SPACE
针对注册等操作返回错误状态; 该操作无法完成,因为没有足够的存储空间来完成操作。
常量值:4(0x00000004)
int FINGERPRINT_ERROR_TIMEOUT
错误状态在当前请求运行时间过长时返回。 这是为了防止程序无限期地等待指纹传感器。 超时是平台和传感器特定的,但通常大约为30秒。
常量值:3(0x00000003)
int FINGERPRINT_ERROR_UNABLE_TO_PROCESS
传感器无法处理当前图像时返回错误状态。
常量值:2(0x00000002)
void authenticate (FingerprintManager.CryptoObject crypto, CancellationSignal cancel, int flags, FingerprintManager.AuthenticationCallback callback, Handler handler)
请求验证密码对象。 此调用会加热指纹硬件并开始扫描指纹。 它在onAuthenticationError(int, CharSequence)
或onAuthenticationSucceeded(AuthenticationResult)
时终止,此时该对象不再有效。 该操作可以通过使用提供的取消对象来取消。
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 ()
确定是否至少有一个指纹登记。
Returns | |
---|---|
boolean |
true if at least one fingerprint is enrolled, false otherwise |
boolean isHardwareDetected ()
确定指纹硬件是否存在并且功能正常。
Returns | |
---|---|
boolean |
true if hardware is present and functional, false otherwise. |