Android开发人脸识别登录功能

所属分类: 软件编程 / Android 阅读数: 122
收藏 0 赞 0 分享

近来,很多公司的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开发人脸识别登录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多