android 指纹识别 怎么使用方法,android实现指纹识别
###前言
随着手机的越加智能化,以及人们对手机安全性的日益需求,android开始支持了指纹设置和解锁,那么今天我们就来讲讲android的指纹密码功能
今天涉及的内容有:
1. 指纹解锁功能的预设
2. 指纹密码功能的设置和验证
3. 效果图
4. 项目结构图
####一. 指纹解锁功能的预设
在我们开启手机的指纹密码功能之前,我们需要在手机上设置锁屏和密码,在手机的 设置---》锁屏和密码 ----》输入锁屏密码。然后需要在 “设置”----》 指纹中 录入指纹。
####二.指纹密码功能的设置和验证
关于指纹密码的相关使用,我封装到了一个工具类 Fingerprint 中,下面对 Fingerprint 类中方法进行讲解。
在使用指纹密码功能前,我们需要初始化:
```
//初始化
init(Context context);
```
Fingerprint 类中有一个判断设备是否支持指纹密码功能的方法:
```
//是否能指纹识别
int isSuport();
```
该方法返回一个 int 类型,Fingerprint 类中 int 类型有以下几种:
```
public static final int SUPORT_TYPE=1;//支持指纹识别
public static final int UNSUPPORT_FINGER_PRINT_TYPE=0;//设备不支持指纹识别
public static final int UNPROTECTED_TYPE=-1;//设备未处于安全保护中
public static final int UNREGISTED_TYPE=-2;//设备未注册指纹
```
当以上方法返回 SUPORT_TYPE 表示设备支持指纹识别,其他几种 type 均表示不支持指纹识别。
一般我们在做app的时候,会设置一个开启指纹识别和验证指纹识别的功能,其实这两个功能都是指纹识别的验证功能,因为指纹的录入是直接在手机设置中,即上文中讲的第一步骤中完成的。
既然如此,那么下面就来讲讲 Fingerprint 类中指纹验证的方法,指纹识别的话,调用代码大致如下:
```
Fingerprint.getInstance().init(FingerprintActivity.this)
.callFingerPrint(new Fingerprint.OnCallBackListenr() {
@Override
public void onSupportFailed(int type, String message) {
//此设备不支持指纹解锁
}
@Override
public void onInsecurity(int type, String message) {
//请开启锁屏密码
}
@Override
public void onEnrollFailed(int type, String message){
//请到设置中设置指纹
}
@Override
public void onAuthenticationStart() {
//开始识别
}
@Override
public void onAuthenticationError(int errMsgId, CharSequence errString) {
//当出现错误的时候回调此函数,比如多次尝试都失败了的时候,errString是错误信息
}
@Override
public void onAuthenticationFailed(String message) {
//验证失败
}
@Override
public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
showShort(helpString.toString());
LogUtil.i("=====5======"+helpString.toString());
}
@Override
public void onAuthenticationSucceeded(FingerprintManagerCompat.AuthenticationResult result) {
//验证成功
}
});
```
当指纹验证功能使用完毕后,需要调用指纹识别取消功能,如下:
```
//取消识别
void cancel();
```
####三,效果图
下面看下指纹识别使用的效果图
![egzhua ](/contentImages/image/jianshu/6127340-f5d0f6c7ab894646.png)
![2.png](/contentImages/image/jianshu/6127340-0bb34f5cd887593e.png)
![3.png](/contentImages/image/jianshu/6127340-34f714e55b34ad02.png)
![4.png](/contentImages/image/jianshu/6127340-473089243c2f78ae.png)
####四. 项目结构图
![image.png](/contentImages/image/jianshu/6127340-b49495c465882a06.png)
ok,今天的内容就讲到这里了,谢谢大家。
android 指纹识别 怎么使用方法,android实现指纹识别相关推荐
- android 主题xml,自定义Android主题风格theme.xml方法 Android开发技术
自定义Android主题风格theme.xml方法 Android开发技术 2013 年 5 月 23 日 在Android中可以通过自定义主题风格方式来实现个性化以及复用,首先我们创建theme.x ...
- android studio控件使用方法,android studio使用教程
android studio使用教程 Android Studio是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studi ...
- Android启动活动用什么方法,Android - 使用intent uri从命令行启动活动
我有一个带有以下intent过滤器的Activity A. android:name="com.comp.pac.ActivityA"> android:host=" ...
- android的属性如何使用方法,Android第二大控件,EditText的属性和使用方法
原标题:Android第二大控件,EditText的属性和使用方法 EditText与TextView非常相似,它甚至与TextView 共用了绝大部分XML属性和方法.EditText与TextVi ...
- android 编程一个程序实现方法,Android中一个应用实现多个图标的几种方式
前言 最近因为新需求需要,我的应用将有多个ICON入口..最终选择了 activity-alias,其实实现多图标有好几种方式,下面就给大家总结下,分享出来供大家参考学习: 1. 多Activity ...
- android读取剪切板的方法,Android复制粘贴剪切板内容的一种方法
1 Clipper介绍 Clipper是一款简单的app, 它可以通过一行adb shell命令来和安卓系统剪切板服务交互. 官方说明:https://github.com/majido/clippe ...
- android用于查询数据的方法,android: SQLite查询数据
掌握了查询数据的方法之后,你也就将数据库的 CRUD 操 作全部学完了.不过千万不要因此而放松,因为查询数据也是在 CRUD 中最复杂的一种 操作. 我们都知道 SQL 的全称是 Structured ...
- android表格布局的使用方法,Android布局(RelativeLayout、TableLayout等)使用方法
本文介绍 Android 界面开发中最基本的四种布局LinearLayout.RelativeLayout.FrameLayout.TableLayout 的使用方法及这四种布局中常用的属性.Line ...
- android自定义view的实现方法,Android自定义View的实现方法
一些接触Android不久的朋友对自定义View都有一丝畏惧感,总感觉这是一个比较高级的技术,但其实自定义View并不复杂,有时候只需要简单几行代码就可以完成了. 如果说要按类型来划分的话,自定义Vi ...
- android 标题栏进度圈使用方法,Android 标题栏显示进度条
不废话,直入主题! 有两种方法,一种是调用系统自身,另一种就是自定义了. 方法一: 在Activity的onCreate()方法中,在super.onCreate(savedInstanceState ...
最新文章
- BERT论文阅读(二): CG-BERT:Conditional Text Generation with BERT for Generalized Few-shot Intent Detection
- 【报表技术】IReport图形化报表开发工具生成PDF文档
- 关于用notepad++确认代码中\r\n\t空格等不显示的字符及替换
- view 背景透明
- 【spring学习】02
- MySQL集群架构-DRBD+headbeat +lvs+keepalived
- Powerset:超越Google的搜索引擎?
- 【IoT】产品设计:硬件产品开发流程之ID与MD设计(文字)
- ArcGIS for Desktop 10.2安装破解与使用图文详解
- pid双闭环matlab仿真,SPWM波控制单相逆变器双闭环PID调节器的Simulink建模与仿真
- 吴伯凡-认知方法论-为什么说“盲维”是认知升级的重要概念
- man 命令指定section
- jQuery+PHP+Ajax动态数字统计展示实例
- 【docker】macOS系统下安装并配置阿里云镜像加速
- 工欲善其事,必先利其器(Eclipse篇)
- org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No leas e on
- win10系统暴雪战网连不上服务器,win10系统无法登录战网怎么办_win10战网登录不上去的解决方法...
- Witt向量简介 §1.1:环上赋值基础
- wdcp php多版本开启失败
- c语言的37个关键字,c语言的37个关键字都是什么
热门文章
- Caffe中的solver文件参数
- 深入分析Zookeeper的Leader选举原理
- 报错	[Error] expected primary-expression before ‘)‘ token
- Discuz X 多页面专题制作教程
- JSP解决:Attempt to clear a buffer that#39;s already been flushed错误(jsp:forward标签跳转空白)...
- Not_flushed_delayed_rows
- 传送网发展与各种网元的功能
- 智慧社区中的物联网产品应用
- IO口电压域io-domain核对流程
- Ubuntu Samba高危安全漏洞修复