手把手教你Android人脸识别登录

近来,很多公司的APP都实现了人脸识别登录的功能。今天呢,银鹏带大家从头到尾做一下这个人脸识别登录。

首先呢,我们需要采用一个拥有人脸识别算法的平台,这边我建议使用虹软的人脸识别,因为我个人用的就是这个,关键有一点好处,就是免费。注册链接:点击进入注册。

注册完毕以后,话不多说,我们进入流程。

第一步:在虹软平台创建应用
手把手教你Android人脸识别登录_第1张图片手把手教你Android人脸识别登录_第2张图片
直接安装SDK查看激活码
手把手教你Android人脸识别登录_第3张图片
下载虹软识别库地址:点击下载识别库

下载好之后进行依赖添加:

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://download.csdn.net/download/weixin_45574883/11958782

你可能感兴趣的:(Android,人脸识别,人脸注册,Android从入门到精通)