Android生物识别 指纹识别面部识别,生物认证Biometric的简单使用

生物认证Biometric
很多APP都要求免登录,银行什么的,要求指纹登录,密码登录,再不就是手势登录。
Biometric是谷歌官方提供的生物识别验证类库,能调用包括目前Android设备上搭载的指纹、人脸、虹膜等系统级的生物认证。(目前大多数的国内定制ROM可能因为安全问题,仅支持指纹)
当然,我测试了一下,一般的手机只能指纹登录。

这是因为Android10系统才开放面部识别

所以你的手机就算有面部解锁功能,调用这个Biometric库还是会调出指纹解锁。

还有一些手机即使是Android10也无法调用面部解锁,可能与厂商是否开放面部解锁功能有关。依赖

dependencies {implementation 'androidx.biometric:biometric:1.0.0-beta01'}

主布巨代码

public class MainActivity extends AppCompatActivity {private Handler handler = new Handler();private Executor executor = new Executor() {@Overridepublic void execute(Runnable command) {handler.post(command);}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button biometricLoginButton = findViewById(R.id.biometric_login);BiometricManager biometricManager = BiometricManager.from(this);switch (biometricManager.canAuthenticate()) {case BiometricManager.BIOMETRIC_SUCCESS:Toast.makeText(this, "应用可以进行生物识别技术进行身份验证", Toast.LENGTH_SHORT).show();biometricLoginButton.setOnClickListener(view -> showBiometricPrompt());break;case BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE:Toast.makeText(this, "该设备上没有搭载可用的生物特征功能", Toast.LENGTH_SHORT).show();break;case BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE:Toast.makeText(this, "生物识别功能当前不可用", Toast.LENGTH_SHORT).show();break;case BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED:Toast.makeText(this, "用户没有录入生物识别数据", Toast.LENGTH_SHORT).show();break;}}//生物认证的settingprivate void showBiometricPrompt() {BiometricPrompt.PromptInfo promptInfo =new BiometricPrompt.PromptInfo.Builder().setTitle("Biometric login for my app") //设置大标题.setSubtitle("Log in using your biometric credential") // 设置标题下的提示.setNegativeButtonText("Cancel") //设置取消按钮.build();//需要提供的参数callbackBiometricPrompt biometricPrompt = new BiometricPrompt(MainActivity.this,executor, new BiometricPrompt.AuthenticationCallback() {//各种异常的回调@Overridepublic void onAuthenticationError(int errorCode, @NonNull CharSequence errString) {super.onAuthenticationError(errorCode, errString);Toast.makeText(getApplicationContext(),"Authentication error: " + errString, Toast.LENGTH_SHORT).show();}//认证成功的回调@Overridepublic void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationResult result) {super.onAuthenticationSucceeded(result);BiometricPrompt.CryptoObject authenticatedCryptoObject =result.getCryptoObject();// User has verified the signature, cipher, or message// authentication code (MAC) associated with the crypto object,// so you can use it in your app's crypto-driven workflows.}//认证失败的回调@Overridepublic void onAuthenticationFailed() {super.onAuthenticationFailed();Toast.makeText(getApplicationContext(), "Authentication failed",Toast.LENGTH_SHORT).show();}});// 显示认证对话框biometricPrompt.authenticate(promptInfo);}
}

这样一个简单的生物识别就ok了

效果图不方便贴,反正我手机只能调出指纹登录

Android生物识别 指纹识别面部识别,生物认证Biometric的简单使用相关推荐

  1. Android开发学习—指纹识别系统的原理与使用

    指纹识别是什么? 提到指纹识别我们就要先弄清楚什么事指纹,指纹为何能够做到区别性. 指纹,由于其具有终身不变性.唯一性和方便性,已几乎成为生物特征识别的代名词.指纹是指人的手指末端正面皮肤上凸凹不平产 ...

  2. Android 6.0 指纹识别功能学习(一)----阿冬专栏!!!

    转载自:http://www.cnblogs.com/changyuet/p/5535082.html 由于毕设需要设计增强的身份认证(生物特征认证方式),所以需要学习指纹识别相关的android6. ...

  3. Android 6.0指纹识别App开发demo

    在Android 6.0中google终于给android系统加上了指纹识别的支持,这个功能在iPhone上早就已经实现了,并且在很多厂商的定制的ROM中也都自己内部实现这个功能了,这个功能来的有点晚 ...

  4. Android FingerPrint之指纹识别

    目前, 市面上的手机基本都支持了指纹解锁功能,甚至已经支持面部识别解锁,及虹膜识别了,但是在我们的App中却是很少有指纹登录的,包括一些金融类软件,这是因为,指纹识别是在Android 6.0 以上才 ...

  5. “关于Android系统的指纹识别安全性”文章引来的讨论

    本文的目的:真实客观分析来自迈瑞微的这篇文章中提及的各个观点 文章标题:指纹识别离安全支付还有多远? 转发地址:http://news.cecb2b.com/info/20160105/3296661 ...

  6. Android中的指纹识别

    转载请注明出处:http://blog.csdn.net/wl9739/article/details/52444671 最近项目需要使用到指纹识别的功能,查阅了相关资料后,整理成此文. 指纹识别是在 ...

  7. Android 的简易指纹识别

    一.第一步 ​ 1.第一步首先在build.gradle中导入咱们的指纹识别依赖. dependencies {implementation 'androidx.appcompat:appcompat ...

  8. Android下的指纹识别及登陆

    一.概述 Android下的指纹识别是在Android6.0后添加的功能,因此,在实现的时候要判断用户机是否支持,然后对于开发来说,使用场景有两种,分别是本地识别和跟服务器交互: 1.本地识别:在本地 ...

  9. Android人脸与指纹识别

    基础人脸识别模块 添加依赖 请添加基本依赖,不要添加 ktx 版本的依赖,因为他需要 API33 及以上才可以使用! implementation 'androidx.biometric:biomet ...

最新文章

  1. 2:0!谷歌 AI “AlphaStar“ 虐杀职业星际玩家
  2. Operation category READ is not supported in state standby
  3. oracle脱机备份文件拒绝访问,如何解决备份文件夹拒绝访问问题
  4. html判断表单是否为空,layui判断表单是否为空
  5. 同方知网软件_国产精品软件天若OCR:支持图像识别/自动翻译/公式识别等
  6. [java] 找出字符串中出现最多的字符和出现的次数
  7. pandas 空字符串与na区别_python从安装到数据分析应用高手 Pandas处理文本数据(一)...
  8. flask前端优化:css/js/html压缩
  9. AT24C02、DS1302、DS18B20等中文手册
  10. 在word中无法使用输入法解决方法
  11. unity3d kinect体感互动解决方案——2D体感换装
  12. excel筛选,排序
  13. Java实验1-1【超市购物小程序】
  14. ap设置 维盟660g_WayOS|路由器WAN口数设置详细教程
  15. 详细介绍GPIO、I2C、SPI通讯原理以及物理层原理
  16. 冯小刚回应质疑:中国没大师 谁都别装!
  17. 精准授时,GPS北斗卫星授时同步时钟系统的天花板
  18. java实现短信接口
  19. qq空间 for android,手机QQ空间Android新版发布 支持widget
  20. 使用PDF分割器将PDF拆分为多个文档

热门文章

  1. 《从面试别人想到的》----泡论坛看到的,写的很有见地,适合我们刚毕业的和毕业一段时间的孩子。...
  2. 社交应用如何防范“虚假流量”?安全检测服务帮你快速识别
  3. mysql memory 索引_理解MySQL——索引与优化
  4. 平遥电影宫春节上线儿童欢乐市集 打造文旅复合空间
  5. 黑白手绘论文答辩PPT模板
  6. Android 应用权限导致系统无法开机
  7. 随机投点法-----------7-1 椭圆的面积 (100 分)
  8. plt画图那些事(配色+上下标)
  9. iOS dispatch_after
  10. python modf() 函数