取消指纹扫描仪

时间:2017-05-15 09:16:51

标签: android android-6.0-marshmallow fingerprint

我正在开发一个具有安全功能的程序,包括PIN和指纹,但现在我在输入密码(PIN或指纹)方面遇到了问题。合并正确的指纹是好的,但是当我输入PIN码时,在我退出PIN和指纹活动后,机器继续听取指纹,我知道这是因为当我点击" home"按钮"机器仍然轻微振动,所以无法停止听指纹?

2 个答案:

答案 0 :(得分:8)

启动指纹识别器时,传入CancellationSignal

如果要取消(可能在活动的OnPause中),只需调用此对象的cancel方法。

有一个完整的样本here

答案 1 :(得分:1)

您可以使用CancellationSignal对象取消Finger扫描侦听器。检查以下代码:

private CancellationSignal cancellationSignal;
...
...
public void startFingerAuth(FingerprintManager manager, FingerprintManager.CryptoObject cryptoObject) {
    if (ActivityCompat.checkSelfPermission(context, Manifest.permission.USE_FINGERPRINT)
            != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    cancellationSignal = new CancellationSignal();
    manager.authenticate(cryptoObject, cancellationSignal, 0, this, null);
}


public void stopFingerAuth(){
    if(cancellationSignal != null && !cancellationSignal.isCanceled()){
        cancellationSignal.cancel();
    }
}

您必须在活动或片段中调用此方法stopFingerAuth()。