【发布时间】:2017-05-15 09:16:51
【问题描述】:
我正在开发一个具有包括 PIN 和指纹在内的安全功能的程序,但现在我在输入密码(PIN 或指纹)时遇到问题。加入正确的指纹是可以的,但是当我输入 PIN 码时,在我退出 PIN 和指纹活动后,机器继续监听指纹,我知道这是因为当我点击“主页”按钮时“机器仍然振动轻微的,所以没有办法停止听指纹?
【问题讨论】:
标签: android android-6.0-marshmallow fingerprint
我正在开发一个具有包括 PIN 和指纹在内的安全功能的程序,但现在我在输入密码(PIN 或指纹)时遇到问题。加入正确的指纹是可以的,但是当我输入 PIN 码时,在我退出 PIN 和指纹活动后,机器继续监听指纹,我知道这是因为当我点击“主页”按钮时“机器仍然振动轻微的,所以没有办法停止听指纹?
【问题讨论】:
标签: android android-6.0-marshmallow fingerprint
当你启动指纹读取器时,你传入一个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();
}
}
您必须在您的活动或片段中调用此方法 stopFingerAuth()。
【讨论】: