You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NET8 MAUI中IFingerprint未按预期触发,反复请求生物识别验证

问题分析与解决方案

问题根源

你遇到的反复触发生物识别验证的问题,核心原因是调用IsAvailableAsync(true)时传入的allowAlternativeAuthentication参数为true。在部分平台上,这个参数会让插件自动尝试启动替代验证流程(比如系统PIN、图案锁),而这个流程会被系统识别为验证请求,加上OnAppearing每次页面显示都会执行,就导致了反复弹出验证窗口,甚至切换页面后残留的请求还会继续触发。

修复步骤

  1. 修改生物识别可用性检查的参数
    将IsBiometricAvailable方法中的IsAvailableAsync(true)改为IsAvailableAsync(false),这样只会检查生物识别硬件是否可用,不会触发任何验证界面:

    async Task<bool> IsBiometricAvailable()
    {
        return await fingerprint.IsAvailableAsync(false);
    }
    
  2. 额外排查点

    • 确认项目中没有其他地方调用ValidateBiometrics方法,避免意外触发验证流程
    • 检查Plugin.Fingerprint版本是否适配.NET 8 MAUI,建议更新到最新稳定版

验证效果

修改后,只有点击imageButtonFinger按钮时,才会调用ValidateBiometrics启动生物识别验证,页面显示时的可用性检查不会再触发验证请求。

内容的提问来源于stack exchange,提问作者Enrico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:40:22