Android身份证扫描
1.第一步我们先接入华为的仓库 maven {url 'http://developer.huawei.com/repo/'}
buildscript {repositories {google()jcenter()mavenCentral()maven {url 'http://developer.huawei.com/repo/'}}dependencies {classpath "com.android.tools.build:gradle:4.0.2"// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}allprojects {repositories {google()jcenter()mavenCentral()maven {url 'http://developer.huawei.com/repo/'}}
}
第二步添加依赖
implementation 'com.huawei.hms:ml-computer-vision-icr:1.0.3.300'
// 引入身份证识别plugin包
implementation 'com.huawei.hms:ml-computer-card-icr-cn-plugin:1.0.3.315'
// 引入身份证识别模型包
implementation 'com.huawei.hms:ml-computer-card-icr-cn-model:1.0.3.315'
第三步在AndroidManifest.xml清单文件的manifest里加入华为机器学习模型。以及读写权限和相机权限。
<meta-dataandroid:name="com.huawei.hms.ml.DEPENDENCY"android:value= "icr"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
第四步在xml文件夹下设置身份证正面和反面两张图片用来点击扫描
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:textSize="@dimen/dp_20"android:textColor="#000"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="实名认证"android:layout_gravity="center"/><ImageViewandroid:layout_gravity="center"android:id="@+id/zheng"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/id_card_on"/><ImageViewandroid:layout_gravity="center"android:id="@+id/fan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/id_card_under"/><Buttonandroid:id="@+id/put"android:background="#FE657A"android:text="上传"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"/></LinearLayout>
第五步在Activity或Fragment里面进行实现
//身份证人像面点击事件zheng.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//把身份证正面扫描赋值为trueb=true;startCaptureActivity(idCallback, true, false);}});//身份证国徽面点击事件fan.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//把身份证反面扫描赋值为falseb=false;startCaptureActivity(idCallback, false, false);}});
//识别参数private void startCaptureActivity(MLCnIcrCapture.CallBack callback, boolean isFront, boolean isRemote) {MLCnIcrCaptureConfig config = new MLCnIcrCaptureConfig.Factory()// 设置识别身份证的正反面。.setFront(isFront)// 设置是否使用云侧能力进行识别。.setRemote(isRemote).create();MLCnIcrCapture icrCapture = MLCnIcrCaptureFactory.getInstance().getIcrCapture(config);icrCapture.capture(callback, this);}
//成功回调private MLCnIcrCapture.CallBack idCallback=new MLCnIcrCapture.CallBack() {@Override// 这个回调里面有参数可以点进去看看身份证图片就是Bitmappublic void onSuccess(MLCnIcrCaptureResult idCardResult) {//这里toast一下看是否可以显示自己名字Toast.makeText(Authenticationactivity.this,idCardResult.name+"", Toast.LENGTH_SHORT).show();//这里判断为true就是人像面false就是国徽面if (b==true){//这个eques判断可以不看,因为我的项目接口性别是int类型所以判断。if (idCardResult.sex.equals("女")){sex=2;}else {sex=1;}//直接设置上zheng.setImageBitmap(idCardResult.cardBitmap);}else if (b==false){//这个是国徽面,同上。fan.setImageBitmap(idCardResult.cardBitmap);}// //点击上传身份证图片
// put.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// Intent intent = new Intent(Authenticationactivity.this, AffirmActivity.class);
// intent.putExtra("actualName1",idCardResult.name);
// intent.putExtra("sex1",sex);
// intent.putExtra("birthday1",idCardResult.birthday);
// intent.putExtra("address1",idCardResult.address);
// intent.putExtra("idNumber1",idCardResult.idNum);
// intent.putExtra("office1",idCardResult.authority);
// intent.putExtra("expireDate1",idCardResult.validDate);
// startActivity(intent);
// }
// });}@Overridepublic void onCanceled() {// 用户取消处理。Toast.makeText(Authenticationactivity.this, "您已经取消认证", Toast.LENGTH_SHORT).show();}@Overridepublic void onFailure(int i, Bitmap bitmap) {// 识别异常处理。}@Overridepublic void onDenied() {// 相机不支持等场景处理。}};
以上就可以了
Android身份证扫描相关推荐
- Android身份证扫描拍照识别SDK
Android身份证扫描拍照识别SDK 移动互联网是大趋势? 随着智能手机的硬件不断优化,移动互联网及应用大范围普及,互联网+各行各业,跨界.融合.创新,市场瞬息万变,有野心的企业和人.技术都在拼命的 ...
- Android 身份证扫描
参考项目:https://github.com/czmc/zxingcard 使用的是腾讯的优图,地址:https://open.youtu.qq.com/ 使用此项目请先申请优图appid等字段 / ...
- OCR--苹果ios安卓android身份证拍照扫描识别sdk
一.ios安卓android身份证拍照扫描识别sdk应用背景 这些年,随着移动互联网的的发展,越来越多的企业都推出了自己的移动APP,这些APP多数都涉及到个人身份证信息的输入认证(即实名认证),如果 ...
- Android拍照扫描识别身份证信息SDK
Android拍照扫描识别身份证信息SDK 移动互联网是大趋势? 随着智能手机的硬件不断优化,移动互联网及应用大范围普及,互联网+各行各业,跨界.融合.创新,市场瞬息万变,有野心的企业和人.技术都在拼 ...
- Android手机扫描识别银行卡技术
Android手机扫描识别银行卡技术 1.Android手机扫描识别银行卡技术背景分析 手机支付.网络支付已经非常成熟,消费者已经习惯了使用手机支付宝进行支付,用手机银行进行消费和转账.但是,整个线上 ...
- Camera详解(附身份证扫描示例)
Camera是什么 Camera官方说明The Camera class is used toset image capture settings, start/stop preview, snap ...
- 身份证扫描识别OCR技术的应用场景
关键词:身份证扫描识别,证件识别,身份证识别,二代身份证识别,手机移动端证件识别 目前来讲:智能OCR识别技术有关于身份证扫描识别OCR技术的服务主要有两种部署模式:身份证扫描识别OCR技术和云端/服 ...
- 原生APP集成身份证扫描拍照识别SDK
原生APP集成身份证扫描拍照识别SDK 移动互联网是大趋势? 随着智能手机的硬件不断优化,移动互联网及应用大范围普及,互联网+各行各业,跨界.融合.创新,市场瞬息万变,有野心的企业和人.技术都在拼命的 ...
- 移动端二代身份证扫描识
一.移动端二代身份证扫描识别应用背景 这些年,随着移动互联网的的发展,越来越多的企业都推出了自己的移动APP,这些APP多数都涉及到个人身份证信息的输入认证(即实名认证),如果手动去输入身份证号码和 ...
- 身份证扫描识别ocr技术
一.身份证扫描OCR识别技术应用背景 这些年,随着移动互联网的的发展,越来越多的企业都推出了自己的移动APP,这些APP多数都涉及到个人身份证信息的输入认证(即实名认证),如果手动去输入身份证号码和 ...
最新文章
- postfix 遇到的问题
- Tomcat和myeclipse的相关操作以及myeclipse的激活方法
- java 微信 jssdk 分享朋友圈_微信JS-sdk分享到朋友圈无效
- Vue.js 学习笔记 二,一些输出指令
- Sass与Compress实战:第一章
- 循环buffer的实现_Go语言源码阅读之bytes.Buffer
- 局域网网络流量监控_【网络监控与安全】主要网络流量处理技术
- idea Lombok插件下载
- SUMO使用E2检测器获取信号交叉口车道信息和信号控制方案
- 2021-05-16
- WaterMark 1.0
- [hihocoder]1238 : Total Highway Distance
- SQL Server、MySQL知识点
- Java基础案例 | 第二弹(持续更新...xdm冲啊)
- python odoo pdf文件 位置获取
- 2023 年度 A 类学科竞赛项目清单
- Matter Project 入门 – 构建和运行照明应用程序示例
- Codeforces Round #549 (Div. 2) D. The Beatles
- 十多家大厂Android面试真题锦集干货整理,成功拿下大厂offer
- AnyProxy 原理及使用
热门文章
- python头像转卡通_用python将你的头像“卡通化”
- (后台)Openbravo如何实现业务事件监听处理
- ch10_ex32nbsp;荷兰国旗问题
- 以太网未识别的网络win10_win10以太网为什么无Internet未识别网络?
- 利用mic visual studio 2010 编译器执行wincap获取网络适配器的代码
- 计算机系统分别由,计算机系统由两部分组成它们分别是什么
- idea激活到2100年
- IDEA 2018 激活补丁 激活到2100年 ,最新版不用注册机
- 商业网站建设和运营的四度:Approachability、Usability、 Accessibility 和 Profitability...
- Mybatis与JPA的优缺点