如何从 Android KeyGuardmanager 中删除指纹验证?

How to remove fingerprint authentication from Android KeyGaurd manager?

当且仅当用户使用他的默认设备锁凭据进行身份验证时,我在我的应用程序中使用了 keyguard 管理器来执行一些操作,现在发生的是我的设备同时具有指纹和 pattern/pin 锁启用并且当键盘锁管理器使用 isKeyguardSecure 方法检查身份验证时,它会为结果启动一个 activity 并使用 .createConfirmDeviceCredentialIntent 打开意图......现在在这个意图中它默认要求指纹并为 pin/pattern...我想在我的应用程序中禁用指纹选项,并且不想从设备本身删除指纹安全性,只需为特定应用程序或意图禁用它。 这是我的代码:

KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
Intent screenLockIntent = keyguardManager.createConfirmDeviceCredentialIntent(title, description);
startActivityForResult(screenLockIntent, LOCK_REQUEST_CODE);

用这个方法得到结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
    if(LOCK_REQUEST_CODE == requestCode){
        if (resultCode == RESULT_OK) {
            //Authentication is successful
              My App works now
        } else {
            //Authentication failed
        }
    }
}

Screenshot showing the fingerprint authentication which I want to remove

这一切工作正常,我只是想删除这个特定应用程序的指纹身份验证并只使用 pin/password 选项... 提前致谢;-)

如果您使用的是 createConfirmDeviceCredentialIntent(),则不能这样做,因为这是系统意图,您无法更改它。通常,屏幕锁定由 OS 管理,并将支持已设置的任何内容(面部、指纹、虹膜、PIN 等)

您可以在您的应用程序中实现一个自定义 PIN 码屏幕,但这很难做到,而且通常不如 OS 提供的屏幕安全。