基于华视身份证读卡器读取身份证信息的Android demo

article/2025/9/27 6:47:33

项目概述

本Demo需要华视的身份证读卡器,连接Android机器设备,当身份证读卡器读取到身份证信息后,立马展示出身份证信息数据。得到身份证的姓名、照片、出生年月等数据。

项目概述

本Demo需要华视的身份证读卡器,连接Android机器设备,当身份证读卡器读取到身份证信息后,立马展示出身份证信息数据。得到身份证的姓名、照片、出生年月等数据。

项目背景

本Demo需要华视的身份证读卡器,连接Android机器设备,当身份证读卡器读取到身份证信息后,立马展示出身份证信息数据。得到身份证的姓名、照片、出生年月等数据。

项目运行截图:

项目结构:

简单解释:

app module 依赖libraries 目录下的FaceVerifyModel和ReadIDCardModel。我们对身份证读卡的sdk做了简单的封装。我们无需理会读卡的具体过程,我可以再本片文章做简单的解释,以便你更快的理解我封装的sdk运行原理读卡原理。

关于sdk的封装代码简单解释:

要一直读卡,那么一定会有一个子线程while(true)一直读卡,直到程序停止,app退出,那么这个线程结束。我们要用一个线程控制。。

private class AlwaysReadCardRunnable implements Runnable {@Overridepublic void run() {HSIDCardInfo icCardInfo;while (isAutoReadCard) {synchronized (hsOtgApi) {//读取成功阻塞3秒SystemClock.sleep(4 * 100);if (hsOtgApi.Authenticate(200, 200) != 1) {Log.i(TAG, "卡认证失败");//SystemClock.sleep(1 * 1000);SystemClock.sleep(1 * 1000);} else {icCardInfo = new HSIDCardInfo();ReadCardEvent cardEvent = new ReadCardEvent();if (hsOtgApi.ReadCard(icCardInfo, 200, 1300) == 1) {int ret = hsOtgApi.Unpack(filepath, icCardInfo.getwltdata());// 照片解码if (ret != 0) {Log.i(TAG, "unzip  success");}cardEvent.setCardInfo(icCardInfo);EventBus.getDefault().post(cardEvent);Log.i(TAG, "读卡成功");SystemClock.sleep(5 * 100);}else{Log.i(TAG, "读卡shibai");}//SystemClock.sleep(3 * 1000);}}}}}

Demo使用方法:

Activity的创建后初始化此sdk

 @Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);new VerifyPresenter((VerifyContract.View) fragment, new VerifyModel());IDCardSDK.getInstance().initSDK(getHandler(), this);}

关于IdCardBean

public class IdCardBean {private String name;private String gender;private String people;//民族;private String from;//private String address;private String idNumber;private String department;private String endDate;private String birthDay;//生日
--------------

app项目中用 Eventbus 得到 身份证读卡信息。

@Subscribepublic void onEventMainThread(ReadCardEvent readCardEvent) {isStartMatch = true;startMatchTime = System.currentTimeMillis();Log.i(TAG, "检测成功,并且读取到身份证信息");HSIDCardInfo cardInfo = readCardEvent.getCardInfo();idCardBean = IdCardConvertUtils.converToIdCardBean(cardInfo);mPresenter.getRealItemBeanByIdCard(idCardBean);Log.i("lixiaodaoaaa", "file path is " + FileConstant.ID_CARD_HEAD_FILE_PATH);Bitmap bitmapFromPath = FileUtils.getBitmapFromPath(FileConstant.ID_CARD_HEAD_FILE_PATH);ivPeopleHead.setImageBitmap(bitmapFromPath);}

关于 IdCardConvertUtils

这个是类型转化类,实现类的转化 读取身份证信息。

/*┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ Author   :  lixiaodaoaaaDate     :  2019-08-11Time     :  17:13┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛*/
public class IdCardConvertUtils {public static IdCardBean converToIdCardBean(HSIDCardInfo cardInfo) {IdCardBean idCardBean = new IdCardBean();if (null != cardInfo) {String name = cardInfo.getPeopleName();String gender = cardInfo.getSex();String people = cardInfo.getPeople();String birthDay = DateFormatterUtils.toBirthDay(cardInfo.getBirthDay());String address = cardInfo.getAddr();String cardNumber = cardInfo.getIDCard();String department = cardInfo.getDepartment();String endDate = cardInfo.getEndDate();idCardBean.setName(name);idCardBean.setGender(gender);idCardBean.setPeople(people);idCardBean.setBirthDay(birthDay);idCardBean.setAddress(address);idCardBean.setIdNumber(cardNumber);idCardBean.setDepartment(department);idCardBean.setEndDate(endDate);return idCardBean;}return null;}
}

demo中概述

  1. 实现实时图像(人脸图像)
  2. 读取身份证信息。

Demo下载:联系v : lixiaodaoaaa


http://chatgpt.dhexx.cn/article/mE2YXcQV.shtml

相关文章

【Python 身份证JSON数据读取】——身份证前六位地区码对照表文件(最全版-JSON文件)

点个赞留个关注吧!! 1、生成身份证前六位地区码对照表JSON文件 2、python 读取JSON文件 提取码【1234】 json文件下载 废话不多说,先上效果图 一、生成身份证json数据文件 先去百度搜索地区身份证号码前6位查询 ,然后进入网站控制台界面&…

VUE实现华视身份证阅读器读取身份证信息(本文分两种情况,第一中是点击按钮读取信息,一种是自动读取信息)

本文是用了vueelement来实现华视身份证读卡器读取身份信息的,当然在开发之前要做好前提准备,就是厂家提供对应设备的api和安装对应的驱动。本文通过两种方法来实现读取信息,第一种是点击按钮读取信息,第二种是卡片放上去会自动读取…

身份证读取设备开发解决方案:2、Android下通过usb转串口读取身份证信息

身份证读取设备开发解决方案:2、Android下通过usb转串口读取身份证信息 文章目录 身份证读取设备开发解决方案:2、Android下通过usb转串口读取身份证信息1. 前言2. 准备3. android下读取身份证信息的demo3.1 部分源码3.2 碎片代码3.3 结果展示3.4 注意点…

自动化神器!Python 批量读取身份证信息写入 Excel

今天分享一个实用技能,利用 Python 批量读取身份证信息写入 Excel。 读取 以图片形式的身份证为例,信息读取我们使用百度文字识别OCR来实现,百度接口提供了免费额度,日常使用基本差不多够了,下面来具体看一下如何使用…

浏览器使用华视电子设备读取身份证信息

项目中用到了使用华视电子CVR-100U、CVR-100D设备读取身份证的设备在浏览器上读取身份证信息,在浏览器使用时,需要安装浏览器的运行的插件,否则设备不好用。 sdk下载方式在文章最后 此控件支持IE、360浏览器、360极速浏览器等浏览器 暂不支持…

身份证读取设备开发解决方案:3、单片机读取身份证信息的demo

身份证读取设备开发解决方案:3、单片机读取身份证信息的demo 文章目录 身份证读取设备开发解决方案:3、单片机读取身份证信息的demo一、前言二、部分代码及结果展示1. 准备2. 部分代码3. 结果展示 三、常见错误错误1错误2 四、注意事项1. 确认串口线焊接…

身份证阅读器读卡器React网页方法实现身份证的读取

支持产品型号东信EST-100GS谷歌版本身份证读卡器USB免驱接口,支持谷歌火狐360 IE 遨游 搜狗 等等多种web浏览器使用。 官方网址:www.eastcoms.com 以下为React源码示例: import React, {PureComponent} from react; import "./agreemen…

身份证读取

在找读取身份证动态库(dll) 文件时,发现这么一篇好文章,有兴趣学习一下! ---------------- 这份代码,主要是根据api文档来写的,文档上提供了各个方法的使用说明,并且有一个示例代码。…

身份证读取设备开发解决方案:1、Windows下开发Qt程序demo读取身份证信息

身份证读取设备开发解决方案:1、Windows下开发Qt程序demo读取身份证信息 文章目录 身份证读取设备开发解决方案:1、Windows下开发Qt程序demo读取身份证信息1. 前言2. 身份证读取模块3. Qt5开发简单上位机读取身份证信息1. 注意的点2. 部分源码3. 结果展示…

最新web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能(详细)

最新web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能(详细) 最近几天有人需要帮忙做一个关于发送验证码的功能,之前没有做过,于是我鼓捣一阵子,记录一下关于web项目中注册登录常用的手机验证码和邮箱验…

uniapp中注册手机号短信验证码

一、效果图 二、输入手机号页面 <template><view><view classlogin-tel><view classtel-main><view classlogin-from><view classlogin-user><text classuser-text>手机号</text><input type"number" focustrue…

阿里云手机验证码注册(可以使用阿里云提供的测试模板,不用个人申请)

目录 打开阿里云&#xff1a;&#xff08;绑定手机号码&#xff09;&#xff0c;不用申请模板和签名手机验证码注册流程&#xff1a;实现流程创建springboot工程&#xff0c;添加依赖编写applicatioin配置文件编写controller&#xff0c;根据手机号发送短信编写service&#xf…

抖音实战~手机号验证码一键注册登录流程(限制手机终端登录)

文章目录 一、手机号验证码二、前端2.1. 点击登陆流程2.2. 点击登录源码 三、后端登录3.1. 登录流程图3.2. 流程简述3.3. 手机号验证码登录流程 一、手机号验证码 二、前端 2.1. 点击登陆流程 1.先校验手机号是否合法&#xff1f;不合法&#xff0c;则提示“请输入正确的手机…

会话——验证码注册与记住密码登录

文章目录 1、需求分析2、用户登录功能2.1、流程分析2.2、代码实现2.3、结果演示 3、登录记住密码功能3.1、流程分析3.2、代码实现3.3、结果演示 4、用户注册功能4.1、流程分析4.2、代码实现4.3、结果演示 5、注册验证码功能5.1、流程分析5.2、代码实现5.3、结果演示 1、需求分析…

关于烧写ESP8285核心板的相关事项

首先需要一个CH340的usb 转ttl 板子 然后连接到8285 脚管对应 TTL ---- 8285 VCC----VCC RXD----TX0 TXD----RX0 GND----GND 在通电之前先要把8285的GND 和io 0 连在ttl 板子的 GND上 烧写软件要设置正确否则无法启动

esp32 esp8285 wf6000OTA升级小记

近期做了3个IOT芯片的OTA升级&#xff0c;记录下&#xff1a; 最开始做完的是ESP32,升级流程也简单&#xff0c;初始烧录到固定区&#xff0c;然后OTA升级就会在user1,user2两个区内来回升&#xff0c;升级的文件是同一个&#xff08;即同一个文件&#xff0c;先升级就是user1…

Ubuntu18.04 上 ESP8285 的 esp-at release_v2.2.0.0 编译环境搭建

1 环境搭建前提 1.1 安装编译 ESP-IDF 需要的软件包&#xff1a; sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util1.2 安装 Python 3.8 sudo apt-get install python3.8-…

探索ESP8285(3)通过EMQX服务器点亮一个LED灯

CCC_122&#xff1a;博客只用于学习交流&#xff0c;不涉及任何商业用途&#xff0c;如果有错误之处&#xff0c;欢迎指正。 在上一个博客的基础上 探索ESP8285&#xff08;2&#xff09;搭建Windows版MQTT服务器 我们来通过EMQX服务器点亮ESP8285模块上的LED灯。 首先查得E…

乐鑫esp8266学习rtos3.0笔记第10篇:内置仅1M的Esp8285,如何攻破最棘手的OTA问题,大大节省资源成本开发产品;

本系列博客学习由非官方人员 半颗心脏 潜心所力所写&#xff0c;仅仅做个人技术交流分享&#xff0c;不做任何商业用途。如有不对之处&#xff0c;请留言&#xff0c;本人及时更改。 1、 Esp8266之 搭建开发环境&#xff0c;开始一个“hellow world”串口打印。 2、 Esp8266之…

晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) ESP8285/ESP8266芯片案例

【应用】国产26MHz频率晶振应用于物联网WIFI物联网模块&#xff08;串口转WiFi模块&#xff09;&#xff0c;Espressif(乐鑫) ESP8285/ESP8266芯片匹配测试OK ESP8285其实是ESP8266的升级版本&#xff0c;两者可以共用同一套SDK&#xff0c;只是ESP8285内部集成了1MB Flash&…