###前言

随着手机的越加智能化,以及人们对手机安全性的日益需求,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实现指纹识别相关推荐

  1. android 主题xml,自定义Android主题风格theme.xml方法 Android开发技术

    自定义Android主题风格theme.xml方法 Android开发技术 2013 年 5 月 23 日 在Android中可以通过自定义主题风格方式来实现个性化以及复用,首先我们创建theme.x ...

  2. android studio控件使用方法,android studio使用教程

    android studio使用教程 Android Studio是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studi ...

  3. Android启动活动用什么方法,Android - 使用intent uri从命令行启动活动

    我有一个带有以下intent过滤器的Activity A. android:name="com.comp.pac.ActivityA"> android:host=" ...

  4. android的属性如何使用方法,Android第二大控件,EditText的属性和使用方法

    原标题:Android第二大控件,EditText的属性和使用方法 EditText与TextView非常相似,它甚至与TextView 共用了绝大部分XML属性和方法.EditText与TextVi ...

  5. android 编程一个程序实现方法,Android中一个应用实现多个图标的几种方式

    前言 最近因为新需求需要,我的应用将有多个ICON入口..最终选择了 activity-alias,其实实现多图标有好几种方式,下面就给大家总结下,分享出来供大家参考学习: 1. 多Activity ...

  6. android读取剪切板的方法,Android复制粘贴剪切板内容的一种方法

    1 Clipper介绍 Clipper是一款简单的app, 它可以通过一行adb shell命令来和安卓系统剪切板服务交互. 官方说明:https://github.com/majido/clippe ...

  7. android用于查询数据的方法,android: SQLite查询数据

    掌握了查询数据的方法之后,你也就将数据库的 CRUD 操 作全部学完了.不过千万不要因此而放松,因为查询数据也是在 CRUD 中最复杂的一种 操作. 我们都知道 SQL 的全称是 Structured ...

  8. android表格布局的使用方法,Android布局(RelativeLayout、TableLayout等)使用方法

    本文介绍 Android 界面开发中最基本的四种布局LinearLayout.RelativeLayout.FrameLayout.TableLayout 的使用方法及这四种布局中常用的属性.Line ...

  9. android自定义view的实现方法,Android自定义View的实现方法

    一些接触Android不久的朋友对自定义View都有一丝畏惧感,总感觉这是一个比较高级的技术,但其实自定义View并不复杂,有时候只需要简单几行代码就可以完成了. 如果说要按类型来划分的话,自定义Vi ...

  10. android 标题栏进度圈使用方法,Android 标题栏显示进度条

    不废话,直入主题! 有两种方法,一种是调用系统自身,另一种就是自定义了. 方法一: 在Activity的onCreate()方法中,在super.onCreate(savedInstanceState ...

最新文章

  1. BERT论文阅读(二): CG-BERT:Conditional Text Generation with BERT for Generalized Few-shot Intent Detection
  2. 【报表技术】IReport图形化报表开发工具生成PDF文档
  3. 关于用notepad++确认代码中\r\n\t空格等不显示的字符及替换
  4. view 背景透明
  5. 【spring学习】02
  6. MySQL集群架构-DRBD+headbeat +lvs+keepalived
  7. Powerset:超越Google的搜索引擎?
  8. 【IoT】产品设计:硬件产品开发流程之ID与MD设计(文字)
  9. ArcGIS for Desktop 10.2安装破解与使用图文详解
  10. pid双闭环matlab仿真,SPWM波控制单相逆变器双闭环PID调节器的Simulink建模与仿真
  11. 吴伯凡-认知方法论-为什么说“盲维”是认知升级的重要概念
  12. man 命令指定section
  13. jQuery+PHP+Ajax动态数字统计展示实例
  14. 【docker】macOS系统下安装并配置阿里云镜像加速
  15. 工欲善其事,必先利其器(Eclipse篇)
  16. org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No leas e on
  17. win10系统暴雪战网连不上服务器,win10系统无法登录战网怎么办_win10战网登录不上去的解决方法...
  18. Witt向量简介 §1.1:环上赋值基础
  19. wdcp php多版本开启失败
  20. c语言的37个关键字,c语言的37个关键字都是什么

热门文章

  1. Caffe中的solver文件参数
  2. 深入分析Zookeeper的Leader选举原理
  3. 报错 [Error] expected primary-expression before ‘)‘ token
  4. Discuz X 多页面专题制作教程
  5. JSP解决:Attempt to clear a buffer that#39;s already been flushed错误(jsp:forward标签跳转空白)...
  6. Not_flushed_delayed_rows
  7. 传送网发展与各种网元的功能
  8. 智慧社区中的物联网产品应用
  9. IO口电压域io-domain核对流程
  10. Ubuntu Samba高危安全漏洞修复