Android指纹识别,提升APP用户体验,从这里开始,2024年最新2024-2024历年华为跳动Android面试真题解析

本文详细介绍了如何在Android 9.0上实现指纹识别,包括`FingerprintManagerCompat`的使用,`BiometricPrompt`的回调处理,以及在系统限制下的用户体验优化。同时,针对Android 9.0系统的指纹识别框限制和位置问题提出了解决方案,建议开发者考虑使用自定义识别框以提高用户体验。
摘要由CSDN通过智能技术生成

public void onUsepwd() {
if (fingerprintCallback != null)
fingerprintCallback.onUsepwd();
}

@Override
public void onCancle() {//取消指纹验证,通知调用者
if (fingerprintCallback != null)
fingerprintCallback.onCancel();
}

@Override
public void onDismiss() {//验证框消失,取消指纹验证
if (cancellationSignal != null && !cancellationSignal.isCanceled())
cancellationSignal.cancel();
}
};

/**

  • 指纹验证结果回调
    */
    private FingerprintManagerCompat.AuthenticationCallback authenticationCallback = new FingerprintManagerCompat.AuthenticationCallback() {
    @Override
    public void onAuthenticationError(int errMsgId, CharSequence errString) {
    super.onAuthenticationError(errMsgId, errString);
    fingerprintDialog.setTip(errString.toString(), R.color.biometricprompt_color_FF5555);
    }

@Override
public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
super.onAuthenticationHelp(helpMsgId, helpString);
fingerprintDialog.setTip(helpString.toString(), R.color.biometricprompt_color_FF5555);
}

@Override
public void onAuthenticationSucceeded(FingerprintManagerCompat.AuthenticationResult result) {
super.onAuthenticationSucceeded(result);
fingerprintDialog.setTip(context.getString(R.string.biometricprompt_verify_success), R.color.biometricprompt_color_82C785);
fingerprintCallback.onSucceeded();
fingerprintDialog.dismiss();
}

@Override
public void onAuthenticationFailed() {
super.onAuthenticationFailed();
fingerprintDialog.setTip(context.getString(R.string.biometricprompt_verify_failed), R.color.biometricprompt_color_FF5555);
fingerprintCallback.onFailed();
}
};

/*

  • 在 Android Q,Google 提供了 Api BiometricManager.canAuthenticate() 用来检测指纹识别硬件是否可用及是否添加指纹
  • 不过尚未开放,标记为"Stub"(存根)
  • 所以暂时还是需要使用 Andorid 6.0 的 Api 进行判断
  • /
    private boolean canAuthenticate(Context context, FingerprintCallback fingerprintCallback) {
    /
  • 硬件是否支持指纹识别
  • */
    if (!FingerprintManagerCompat.from(context).isHardwareDetected()) {
    fingerprintCallback.onError(FingerprintManager.FINGER
  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值