android 指纹识别 之 BiometricPrompt的简单使用教程

Android应用中调用系统指纹识别功能 在这个示例中,我们使用了一个自定义的JsonDeserializer来处理schedule字段,这个字段可能是一个字符串也可能是一个Schedule对象。在使用Retrofit和Gson处理JSON时,如果某个字段可能是字符串或对象,你可以使用自定义的JsonDeserializer来处理这种情况。这些步骤涵盖了基本的设置和调用,确保你已经在设备上注册了指纹,并且设备支持生物识别硬件。在Android应用中调用系统指纹识别功能,可以通过使用Android的BiometricPrompt类来实现。 阅读详情

1.使用android api 28的sdk创建一个新的项目

创建完成后,在build.gradle中查看是否正确

这里写图片描述

2.在AndroidManifest.xml中添加用户权限

<uses-permission android:name="android.permission.USE_BIOMETRIC"/>

3.开始编写代码

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "gryphon";

    private BiometricPrompt mBiometricPrompt;
    private CancellationSignal mCancellationSignal;
    private BiometricPrompt.AuthenticationCallback mAuthenticationCallback;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mBiometricPrompt = new BiometricPrompt.Builder(this)
                .setTitle("指纹验证")
                .setDescription("描述")
                .setNegativeButton("取消", getMainExecutor(), new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.i(TAG, "Cancel button clicked");
                    }
                })
                .build();

        mCancellationSignal = new CancellationSignal();
        mCancellationSignal.setOnCancelListener(new CancellationSignal.OnCancelListener() {
            @Override
            public void onCancel() {
                //handle cancel result
                Log.i(TAG, "Canceled");
            }
        });

        mAuthenticationCallback = new BiometricPrompt.AuthenticationCallback() {
            @Override
            public void onAuthenticationError(int errorCode, CharSequence errString) {
                super.onAuthenticationError(errorCode, errString);

                Log.i(TAG, "onAuthenticationError " + errString);
            }

            @Override
            public void onAuthenticationSucceeded(BiometricPrompt.AuthenticationResult result) {
                super.onAuthenticationSucceeded(result);

                Log.i(TAG, "onAuthenticationSucceeded " + result.toString());
            }

            @Override
            public void onAuthenticationFailed() {
                super.onAuthenticationFailed();

                Log.i(TAG, "onAuthenticationFailed ");
            }
        };

        mBiometricPrompt.authenticate(mCancellationSignal, getMainExecutor(), mAuthenticationCallback);

    }
}

上面代码很简单,就不过多bb了

如果想取消指纹识别,可以通过

mCancellationSignal.cancel();

4.测试

4.1创建一个api 28的模拟器

这里写图片描述

4.2 在系统设置中添加解锁密码和指纹

在模拟器中的设置 -> 安全性和位置信息 中设置pin码之后,添加一个指纹,这边需要输入刚才设置的pin码

这里写图片描述

输入完成之后,就会到指纹页面

这里写图片描述

点击添加就会跳转到录入指纹页面

这里写图片描述

这个时候打开命令行,在命令行中输入

adb -e emu finger touch 1

说明:

这里的1 你可以随便定义 ,也就是你设置的指纹名称

等会就会跳转到指纹已添加页面

这里写图片描述

5.执行上面的代码

在模拟器上可以看到如下界面:

这里写图片描述

这个时候你在命令行中输入上面添加指纹的命令即可完成指纹认证的模拟

adb -e emu finger touch 1

这个时候再logcat中就可以看到授权成功的回调

这里写图片描述

好了,简单的demo就完成了

Android 显示 指纹/人脸 身份验证对话框 Android 显示 指纹/人脸 身份验证对话框 Android 显示生物识别身份验证对话框 阅读详情

相关推荐

Android应用集成BiometricPrompt实现指纹认证的最佳实践

本文详细介绍了在Android应用中集成BiometricPrompt实现指纹认证的最佳实践。从环境准备、基础功能实现到高级优化策略,全面解析了如何利用BiometricPrompt API提升应用的安全性和用户体验。文章特别强调了设备兼容性处理和错误优化,帮助开发者高效集成指纹识别功能。

weixin_29227585的博客 126

Android人脸与指纹识别

快速上手使用jetpack调用指纹识别模块!

delete_you的博客 1524

浅谈Android指纹识别技术

当今时代,随着移动智能手机的普及,指纹解锁早已是手机不可或缺的一个功能。除了现在比较新款的iPhone或者部分手机采用了Face ID之外,人们几乎天天都会用到指纹解锁技术。但你知道指纹解锁技术背后的原理吗? 原理 指纹识别的前提是对指纹的采集,所以我们首先就应该了解第一步:指纹采集。 第一步:指纹采集 指纹采集主要分为两种方式:滑动式采集和按压式采集 滑动式采集是将手指在传感器上滑过,从而使手机获得手指指纹图像。滑动式采集具有成本相对偏低,而且可以采集大面积图像的优势。但这种采集方式存在体验较差

weixin_56465429的博客 2920

Android Biometricprompt 生物识别(指纹)

从API29 即 Android 10 开始,系统为第三方应用提供了通过生物识别验证用户是否为本人的功能,实现也比较简单 因为在进行生物识别时,系统会禁止本应用截图,录屏也会是黑屏,所以借用官方文档中的图 首先要使用生物识别需要判断系统版本 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { //使用生物识别 }else{ //不使用生物识别 } 声明权限 <uses-permission android:name.

转载和创作优秀的博客 2751

Android指纹识别,提升APP用户体验,从这里开始!(1)

在指纹识别功能的实践中,我将其做成了开源库发布在了 Github 上,可通过 gradle 进行依赖,使用方法比较简单,两三行代码,再传入一个验证结果监听即可。下面对部分实现过程做一下介绍,详细的 Api 及源码请移步 Github。

2401_84003690的博客 871

Android指纹识别与BiometricPrompt实战开发

BiometricPrompt 是 Android 官方推出的一套统一生物识别身份验证接口框架,旨在简化开发者对指纹、面部识别、虹膜识别等功能的集成。它通过抽象底层硬件差异,提供一致的用户认证体验,并强化安全性。相较于旧版的,BiometricPrompt 具备更强的兼容性与安全性,支持多种生物识别方式,并与 Android Keystore 系统深度集成,保障用户敏感数据不被泄露。本章为后续内容奠定理论基础。

weixin_42453228的博客 1396

Android9.0指纹识别BiometricPrompt的简单使用

谷歌在Android 9.0 API版本28,发布了生物信息综合验证的基础 API android.hardware.biometrics.BiometricPrompt.BiometricPrompt 所以在android9.0之后使用系统提供的BiometricPrompt来进行指纹识别,BiometricPrompt提供了对话框的构建,方便使用。 首先项目的sdk版本要在28以上 添加权限 <uses-permission android:name="android.permiss

jie212的博客 2932

Ubuntu虚拟机磁盘扩容实战:5分钟搞定gparted分区调整(附常见错误修复)

本文详细介绍了在Ubuntu虚拟机中使用gparted工具进行磁盘扩容的实战步骤。针对常见的交换分区阻碍问题,提供了从禁用交换空间、删除旧分区、调整主分区大小到重建交换分区并更新系统配置的完整解决方案,帮助用户在5-10分钟内安全高效地解决磁盘空间不足的难题。

1a2s3d4f5g的博客 670

Android指纹识别ui显示,Android9.0指纹识别BiometricPrompt的简单使用

谷歌在Android 9.0 API版本28,发布了生物信息综合验证的基础 APIandroid.hardware.biometrics.BiometricPrompt.BiometricPrompt所以在android9.0之后使用系统提供的BiometricPrompt来进行指纹识别,BiometricPrompt提供了对话框的构建,方便使用。首先项目的sdk版本要在28以上添加权限代码pri...

weixin_42134051的博客 807

STM32H743实战(三)-- 时钟系统配置

本文详细讲解了STM32H743时钟系统的配置方法,重点解析了为何选择400MHz而非理论极限480MHz作为稳定运行的主频。通过STM32CubeIDE环境,手把手指导如何从外部晶振配置、电源电压设置到PLL锁相环参数调整,最终实现稳定可靠的400MHz系统时钟,并提供了代码验证与常见问题排查指南。

weixin_29164185的博客 368

Emotion-LLaMA实战指南:从零构建多模态情感识别系统(附Python代码)

本文提供了Emotion-LLaMA多模态情感识别系统的实战指南。通过详细的步骤,指导读者从零搭建开发环境、运行本地Demo、理解模型架构,并完成数据处理与模型训练。该创新模型融合视觉、听觉与文本信息,实现更精准、接近人类理解的情感分析与推理,并附有完整的Python代码实现。

weixin_29094775的博客 416

Android使用指纹识别功能

指纹识别是在Android 6.0以后新增的功能,在使用的时候需要先判断手机的系统版本是否支持指纹识别。 FingerprintManager : 指纹管理类 验证手机是否支持指纹功能 FingerprintManager.AuthenticationCallback :使用验证的时候传入该接口,通过该接口进行验证结果回调 ...

旧时光っ 3992

角谱迭代与傅里叶变换迭代算法(GS)的原理及其实例演示分析

角谱迭代与傅里叶变换迭代算法(GS)的原理及其实例演示分析 目前,迭代法和强度传输方程(TIE)法是两类典型的非干涉相位检索技术(Phase Retrieval,被称为相位恢复、相位检索、相位反演法、相位复原等)。迭代法中的经典算法是Gerchberg-Saxton(GS),随后,出现了包括错误减少算法(ER)、混合输入输出法(HIO)、梯度搜索算法、角谱迭代算法等改进算法。...

简单光学 2万+

Android指纹识别SDK集成与BiometricPrompt实战指南

生物识别技术作为移动安全认证的核心方案,通过指纹、人脸等生物特征实现身份验证。Android平台从FingerprintManager演进至BiometricPrompt API,支持多模态生物识别和加密增强。开发者需要掌握运行时权限声明、CryptoObject加密集成以及版本兼容处理等关键技术点。在金融支付、企业办公等高安全场景中,合理的错误处理和密钥轮换策略能有效提升系统安全性。通过ADB测试命令和自动化脚本可验证指纹识别流程的可靠性,而自定义UI和智能重试机制则能优化用户体验。

weixin_30788239的博客 393

PyTorch复现EEG-TCNet踩坑记:从BCI IV2a数据到TCN块缺失的完整解决方案

本文详细解析了使用PyTorch复现EEG-TCNet模型的全过程,重点解决了BCI IV2a数据集预处理和TCN模块缺失的技术难题。通过标准化数据流程、跨受试者验证策略以及三种因果卷积实现方案,为运动想象分类任务提供完整解决方案,帮助研究者高效实现模型复现与优化。

weixin_30699955的博客 319

2026年CSP-J初赛真题及答案解析

2026年CSP-J初赛真题及题解

王老师青少年编程 1631

Android指纹识别开发指南:BiometricPrompt实战与优化

生物识别技术在现代移动安全体系中扮演着关键角色,其中指纹识别因其成熟度和便捷性成为Android设备的标配功能。从技术原理看,系统通过传感器采集生物特征数据,经加密处理后与预存模板比对完成认证。Android平台先后推出FingerprintManager和BiometricPrompt两套API,后者凭借模块化设计和Keystore集成优势,成为当前开发首选。在金融支付、企业应用等高安全场景中,BiometricPrompt能有效满足FIDO认证要求,同时支持人脸、虹膜等多模态扩展。实际开发时需注意设备兼

weixin_30832405的博客 300

10分钟搞定manim安装与vscode配置

manim安装与vscode配置

帅帅de三叔 3413

Android 指纹识别

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、指纹类概述二、指纹类权限三、指纹类详细介绍四、指纹使用实战官方的指纹识别在Android 6...

程序员Android 3711

Android Shadow插件化框架分析与集成(一)

到此为止,本篇文章先介绍到这里,本篇文章主要介绍了:从源码的角度去集成shadow框架,从下载源码开始,到集成到自己的项目中,其中插件项目我是新建的demo应用,宿主应用是之前搭的一个MVP框架。文章中一步一步详细的介绍了宿主该如何集成,并提供了源码;介绍了插件该如何集成,同时也提供了源码。文章中还介绍了gradle的版本与AGP版本使用不当造成的问题,以及shadow源码的gradle版本与APG版本的配置,及和宿主插件应用gradle版本与AGP版本的关系。

superzhang6666的博客 1235

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

[向前一小步]Android简单实现指纹识别登录

简单快速集成指纹识别登录,简单新手教学

lian123456780的博客 3039

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android指纹识别,看这一篇就够了

在Android6.0(Api23)的时候,Android系统加入了指纹识别的api接口,即FingerprintManager,定义了最基础的指纹识别接口。不过,在AndroidP(Api28)的时候,官方不再推荐使用,做了@Deprecated处理。 后来,在support v4库中添加了FingerprintManagerCompat类,我看了他的源码,其实就是对Fingerp...

IceSea7 1997

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android 中指纹识别的使用

这里写自定义目录标题前言指纹登录流程指纹识别在指纹登录中的作用指纹登录相关流程#指纹识别面临指问题指纹登录实现指纹识别的集成开启指纹登录功能指纹登录功能总结 前言 ​ 最近,在查看 SampleProject 这个项目的时候,就觉得吧,这个登录有点麻烦,总是要输密码,现在很多 APP 都是可以指纹登录的呀,这个必须支持一波;而且开发这么多年还没尝试过指纹识别,这可不行,学到老活到老嘛。 指纹登录流程 ​ 指纹登录 不就是简单的调用 指纹识别 的 API 然后登录账号吗,这有什么可说的?可能有人会问了。

wangjie_de的博客 1901

Android指纹识别,提升APP用户体验,从这里开始!

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了7、8年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。不断奔跑,你就知道学习的意义所在!

2401_84003733的博客 914
上一篇: android APK Expansion Files
下一篇: 解决 android.content.ActivityNotFoundException: No Activity found to handle Intent 问题
androidWorkor
博客等级 码龄14年 17粉丝 19原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值