【问题标题】:Cancel Fingerprint scanner取消指纹扫描仪
【发布时间】:2017-05-15 09:16:51
【问题描述】:

我正在开发一个具有包括 PIN 和指纹在内的安全功能的程序,但现在我在输入密码(PIN 或指纹)时遇到问题。加入正确的指纹是可以的,但是当我输入 PIN 码时,在我退出 PIN 和指纹活动后,机器继续监听指纹,我知道这是因为当我点击“主页”按钮时“机器仍然振动轻微的,所以没有办法停止听指纹?

【问题讨论】:

    标签: android android-6.0-marshmallow fingerprint


    【解决方案1】:

    当你启动指纹读取器时,你传入一个CancellationSignal

    当你想取消时(可能在你的Activity的OnPause中),只需调用这个对象的cancel方法即可。

    有一个完整的示例here

    【讨论】:

      【解决方案2】:

      您可以使用 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()。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-23
        相关资源
        最近更新 更多