Android开发人脸识别登录功能
近来,很多公司的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
总结