在我的
NET8
MAUI
应用程序中,我添加了 Plugin.Fingerprint
。当用户想要登录应用程序时,我将用户重定向到LoginPage。
private readonly IFingerprint fingerprint;
public LoginPage(IFingerprint fingerprint)
{
InitializeComponent();
this. Fingerprint = fingerprint;
}
async Task<bool> IsBiometricAvailable()
{
return await fingerprint.IsAvailableAsync(true);
}
protected override async void OnAppearing()
{
base.OnAppearing();
vm.Clean();
var isAvailable = await IsBiometricAvailable();
}
private async Task ValidateBiometrics() {
var request = new AuthenticationRequestConfiguration("Access",
"Use your biometric to access the app.");
var result = await fingerprint.AuthenticateAsync(request);
if (result.Authenticated)
GotoMainPage();
}
private async void imageButtonFinger_Clicked(object sender, EventArgs e)
{
await ValidateBiometrics();
}
从这段代码中,我希望只有当我单击
imageButtonFinger
时,应用程序才会调用 ValidateBiometrics
来启动生物识别身份验证过程。真正的行为是,在检查IsBiometricAvailable
后,应用程序开始一次又一次地要求进行生物识别身份验证。
如果我更改页面,此行为也会继续。