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
猜你喜欢
- 汉诺塔的规则是:一共三根柱子,一根柱子从上到
- 1. 通过字节流实现文件的拷贝 /** * 通过字节流实现文件的拷贝 * @param sourcePath 源
- 1.获取签名与模板进入阿里云平台,进入短信服务模块,在以下位置添加签名和模板(格式一定按照要求填写 审批的比较严格)2.编写模板与签名的枚举
- 自从接触javascript以来,对this参数的理解一直是模棱两可。虽有过深入去理解,但却也总感觉是那种浮于表面,没有完全理清头绪。但对于
- 本文实例讲述了Java截取字符串的方法。分享给大家供大家参考。具体实现方法如下:public static void main(String
- 介绍大家都知道微信支付的回调链接要求不能跟参数,但又要接收返回的xml数据。我开始使用@RequestBody注解在参数上,希望能获取xml
- 这篇文章主要介绍了SpringBoot如何读取war包jar包和Resource资源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具
- 1、不必要的自动装箱。自动装箱是将基础数据类型转换为相应的复杂类型,在HashMap的追加删除调查中充满了自动装箱问题,因此尽量避免Hash
- 现假设某个公司采用公用电话来传递数据,数据是四位的整数,在传递过程中是加密的。加密规则是每位数字都加上5,然后再用除以10的余数代替该数字,
- Java 序列化和反序列化实例详解在分布式应用中,对象只有经过序列化才能在各个分布式组件之间传输,这就涉及到两个方面的技术-发送者将对象序列
- 启动第二个服务时就会报如下的错误:Server failed to start for port 8080: Address already
- 当时用逆向生成后,实体类中的下划线都被去掉,这时只需要在sqlmap.xml中加以下代码即可。打开mybatis驼峰法则。 <sett
- IBATIS简介ibatis是 Apache的开源项目,一个ORM 解决方案,ibatis最大的特点就是小巧,上手很快。使用 ibatis提
- 1: .net framework 由两个部分组成:CLR 和 FCL。2:在CLR中,所有错误都是通过异常来报告的。3:智能感知功能主要是
- 1. 将对象转换为JSON字符串,返回值为一个JSON字符串public static String toJson(Object value
- 先给大家介绍下Java获取上月份最后一天日期8位。代码如下所示:/** * 获取上个月的最后一天23点59分59
- 重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在
- 一、搭建 mvc 环境新建一个 module 模块,创建 maven 工程,步骤跟以前一样,各种配置文件内容也可以拷贝修改一下即可。二、创建
- Map集合Map集合存储的是键值对Map集合的实现类:HashTable、LinkedHashMap、HashMap、TreeMapHash
- 一、万能的字符串当然,任何时候都可以使用字符串作为属性的值,从配置文件里读取出来,如下:配置文件内容为:pkslow.admin=larry