取消指纹扫描仪
Cancel Fingerprint scanner
我正在开发一个具有安全功能(包括 PIN 和指纹)的程序,但现在我在输入密码(PIN 或指纹)时遇到问题。合并正确的指纹是可以的,但是当我输入PIN码时,退出PIN码和指纹activity后,机器继续监听指纹,我知道这一点,因为当我点击"home" button "机器还在轻微震动,听指纹没办法停止吗?
启动指纹reader时,传入一个CancellationSignal.
当你想取消时(可能在你的Activity上的OnPause),调用这个对象的cancel
方法即可。
有一个完整的样本here。
您可以使用 CancellationSignal 对象取消手指扫描侦听器。检查以下代码:
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();
}
}
您必须在 activity 或片段中调用此方法 stopFingerAuth()。
我正在开发一个具有安全功能(包括 PIN 和指纹)的程序,但现在我在输入密码(PIN 或指纹)时遇到问题。合并正确的指纹是可以的,但是当我输入PIN码时,退出PIN码和指纹activity后,机器继续监听指纹,我知道这一点,因为当我点击"home" button "机器还在轻微震动,听指纹没办法停止吗?
启动指纹reader时,传入一个CancellationSignal.
当你想取消时(可能在你的Activity上的OnPause),调用这个对象的cancel
方法即可。
有一个完整的样本here。
您可以使用 CancellationSignal 对象取消手指扫描侦听器。检查以下代码:
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();
}
}
您必须在 activity 或片段中调用此方法 stopFingerAuth()。