Android开发人脸识别登录功能
作者:王银鹏 发布时间:2022-03-02 14:16:12
近来,很多公司的APP都实现了人脸识别登录的功能。今天呢,银鹏带大家从头到尾做一下这个人脸识别登录。
首先呢,我们需要采用一个拥有人脸识别算法的平台,这边我建议使用虹软的人脸识别,因为我个人用的就是这个,关键有一点好处,就是免费。注册链接:点击进入注册。
注册完毕以后,话不多说,我们进入流程。
第一步:在虹软平台创建应用
直接安装SDK查看激活码
下载虹软识别库地址:点击下载识别库
下载好之后进行依赖添加:
implementation 'com.github.tyhjh:PermissionUtil:v1.0.5'
implementation 'com.github.tyhjh:picturePickUtil:v1.0.6'
implementation project(':arclibrary')
接下来进入步骤详解:
第一步:初始化,在Application里进行:
private void initArcFace() {
new AcrFaceManagerBuilder().setContext(this)
.setFreeSdkAppId(Constants.FREESDKAPPID)
.setFdSdkKey(Constants.FDSDKKEY)
.setFtSdkKey(Constants.FTSDKKEY)
.setFrSdkKey(Constants.FRSDKKEY)
.setLivenessAppId(Constants.LIVENESSAPPID)
.setLivenessSdkKey(Constants.LIVENESSSDKKEY)
.create();
}
温馨提示:Constants为存储虹软信息的常量类,主要存放APPID等信息,这些信息在查看激活码里面有。
public class Constants {
public static String FREESDKAPPID = "ELVF52xrBj21FKQxXygS6HvkdoMzeUVaAcBDtLa1vu4F";
public static String FDSDKKEY = "59nZG5b13BNroFAyvMW74PEMD5Ke5ieWiZK1n6YVTEoe";
public static String FTSDKKEY = "59nZG5b13BNroFAyvMW74PEE3g4RPbX4UPAn1XV7Hcra";
public static String FRSDKKEY = "59nZG5b13BNroFAyvMW74PEqrgNHG1iZPTi78m1mctQt";
public static String IDCARDAPPID = "ELVF52xrBj21FKQxXygS6HvkdoMzeUVaAcBDtLa1vu4F";
public static String IDCARDSDKKEY = "";
public static String LIVENESSAPPID = "ELVF52xrBj21FKQxXygS6HvkdoMzeUVaAcBDtLa1vu4F";
public static String LIVENESSSDKKEY = "59nZG5b13BNroFAyvMW74PEMD5Ke5ieWiZK1n6YVTEoe";
}
有些需要下载arc文件里的代码,这是下载地址:点击下载arc代码【主要业务逻辑我这边都放在LivenessActivity里】
人脸识别注册
LivenessActivity.flag = 1;
startActivity(new Intent(MainActivity.this, LivenessActivity.class));
人脸识别登录
LivenessActivity.flag = 2;
startActivity(new Intent(MainActivity.this, LivenessActivity.class));
以上只是本地注册和登录,咱们需要和服务端进行交互,那么注册时,就要 绑定faceId,对faceId进行存储,当用户对人脸识别开启后,进行本地人脸识别登录校验,成功后,请求刷脸登录接口。
人脸识别,有的朋友so库找不到,应该是与其依赖的第三方中的架构产生冲突,解决办法如下,指定架构方式,在app下,android,defaultConfig下:
ndk {
//选择要添加的对应cpu类型的.so库。 // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
abiFilters 'armeabi-v7a' //'armeabi-v7a', 'arm64-v8a'
moduleName "app"
}
sourceSets {
main {
jniLibs.srcDirs = ['src/main
bs']//指定你的libs路径
}
}
人脸识别demo下载体验:
链接:
https://pan.baidu.com/s/1EP6qnF-KN1gZo0r0RAGhQA
提取码: fya2
总结
以上所述是小编给大家介绍的Android开发人脸识别登录功能网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/weixin_45574883/article/details/102874953


猜你喜欢
- 前言我们在上一篇文章教大家使用ImageView+TextView的组合自定义控件...可能在开发中你还需要其他功能,例如:按下效果,可以在
- 1.object.toString()方法这种方法要注意的是object不能为null,否则会报NullPointException,一般别
- .net core提供了Json处理模块,在命名空间System.Text.Json中,下面通过顶级语句,对C#的Json功能进行讲解。序列
- springboot项目部署平时我们在部署springboot打成jar方式部署得时候,大多数都会编写启动脚本,脚本有很多种写法,但大多数意
- 一 数据库操作框架的历程1.1 JDBCJDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQ
- 一、maven * 搭建使用Nexus进行搭建,网上教程很多,不多赘述了。二、gradle配置在build.gradle文件的根节点中添加以下
- 1、Hello, KotlinBugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验
- 前言前几天 在自己的 笔记本上把android studio 升级到4.1了 一直没有使用Gsonfomat插件所以没有发现问题!今天使用G
- Java中throws和throw的区别讲解当然,你需要明白异常在Java中式以一个对象来看待。并且所有系统定义的编译和运行异常都可以由系统
- 引语:工作中有时候需要在普通的对象中去调用spring管理的对象,但是在普通的java对象直接使用@Autowired或者@Resource
- 前言:页面静态化其实就是将原来的 * 页(例如通过ajax请求动态获取数据库中的数据并展示的网页)改为通过静态化技术生成的静态网页,这样用户
- 前言注解(Annotation)不是程序,但可以对程序作出解释,也可以被其它程序(如编译器)读取。注解的格式:以@注释名在代码中存在,还可以
- Feign简介Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可
- Double转化为String时的保留位数及格式有时需要将程序中的数据写入到文件中进行保存,这时候就涉及到数据的字符串格式问题。下面介绍Do
- 在许多游戏中当我们因为一些问题无法接着进行游玩,我们都会选择保存,以便后面有空时,接着游玩。接下来,我们会学习一些Unity有关的存储方法。
- 从服务器下载文件中文名乱码解决方案,具体文字说明不多了,直接贴代码了,具体代码如下:try { &n
- 赋值运算符也有和算数操作符所结合的用法之前附录中有提及,用法是:比如要将x加上4,然后再赋值给x,就可以写成x+=4. public cla
- ModbusModbus是一种串行通信协议。Modbus 一个工业上常用的通讯协议、一种通讯约定。Modbus协议包括RTU、ASCII、T
- 先看下效果图:这个需要用到1个开源的 库,这个后面也会说下的。工程目录:1. MainActivity.javapublic class M
- StopWatch是位于org.springframework.util包下的一个工具类,通过它可方便的对程序部分代码进行计时(ms级别),