见过扫描身份证信息的安卓Android平板电脑?见面拉


见过扫描身份证信息的安卓Android平板电脑?见面拉

平板广泛应用于银行、公安移动办公、警务通、企业保安、访客登记等场合。内置身份证读卡器功能使身份证信息的获取变得如此便捷容易,二代身份证内部信息瞬间就能被读取到平板电脑内,其中包括了姓名、身份证号码、发卡单位等全部身份证信息,身份证上的照片也能如实读出。

二代证读取功能:内置中华人民共和国第二代公民身份证读取模块,提供开发源码,全面满足二次开发

实现读取二代身份证信息的客户端程序

该例程主要实现读取二代身份证信息,

操作过程:打开已安装完成的apk应用,将身份证放到读卡区域,点击扫描按钮等待信息反馈到用户界面中.

应用程序编程接口

 apps.java 中接口解释及使用说明

static public native int Serialread(byte[] data,byte[] samid);通过串口读取身份证模组返回读取原始信息,读取到的是字节数组存放在 data数组中未经解码,同时完成密钥数组(samid)的初始化

static{  System.loadLibrary("Serial_apps");       }

此静态块完成对libSerial_apps.so库的加载

 ScanIDCardActivity.Java 中使用到和读取身份证相关接口解释和说明

Int IDCradReaderSDK.wltInit("/data/wltlib");    读取身份证模组的数字认证证书,返回值为0时说明以正确认证身份证模组

Int apps.Serialread(wltdata,licdata);

参数:

byte[] wltdata 通过串口将读取到的原始信息存放到字节数组中,未解密.

byte[] licdata      存放读取信息时使用到的密钥数据.

 

返回值:

1           正取读取到身份证信息

-1          模组发送数据失败

-2          数据接收失败

-3          锁定身份证失败

-4          发送读身份证信息失败

-5          读取身份证信息失败,串口丢失数据

 

Int  IDCReaderSDK.wltGetBMP(wltdata,licdata);

参数:

byte[] wltdata      通过串口读取身份证信息并进行数据解密(通过密钥数组licdata)

byte[] licdata      通过该数据中数据进行身份证原始信息解密

返回值:

1           正确通过密钥将原始身份证信息解密

其它值      没有正确将原始数据解密

 

Bitmap BitmapFactory.decodeFile("/data/wltlib/zp.bmp");

将正确解密后的身份证图片信息获取到,返回对象为

 

String name = new String(data,14,30,”UnicodeLittleUnmarked”);

参数:

第一个参数data      读取到的身份证信息字节数据

第二个参数14            “name”在字节数组中的起始位置

第三个参数30            “name”在字节数组中的终止位置

第四个参数              相应的编码方式

作者:欧宏远
博客:http://www.cnblogs.com/pdasoft
日期:2012年9月26日


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM