身份证读卡SDK调用文档V4
发布日期:2024-01-03 12:39:18
来源:XX
浏览次数
身份证读卡SDK调用文档V4
注意事项
初始化调用一次即可
测试使用的 appid 不可以用于商用(否则后果自负)。
商用的 appid 请务必联系我司商务进行分配。
添加aar依赖
- 添加读卡SDK maven仓库
allprojects {
repositories {
google()
jcenter()
// 中软高科读卡SDK仓库
maven {
url 'https://gitee.com/cshtzrgk/read-card-sdk/raw/master/Repositorys'
}
}
}
- 依赖最新版本的读卡SDK
// 中软核心读卡SDK(必须)
implementation "io.github.CshtZrgk:CshtReadCard:4.1.0"
implementation "io.github.CshtZrgk:mqttService:1.0.0"
// 电子护照读取(可选,不需要可以不添加依赖)
implementation 'io.github.CshtZrgk:ePassport:1.0.1'
// 中软 OCR 识别护照机读码(可选,不需要可以不添加依赖。也可自由选择自己或其他第三方OCR库)
// 中软 OCR 库使用方法,详见文档底部:OCR使用方法
implementation 'io.github.CshtZrgk:ocr-android:1.0.1'
1、读卡参数配置
ReadSettingBuilder readSettingBuilder = ReadCardManager
// 上下文
.builder(getBaseContext())
// 是否开启蜂鸣器
.buildOpenSound(true)
// 是否开启日志,第二位参数为日志保存的目录,
// 传空字符时,默认在 Android/data/包名/files/zrgkreadcardlog 下
.buildOpenLog(true, "")
// 测试使用的 appid 不可以用于商用(否则后果自负)。
// 商用的 appid 请务必联系我司商务进行分配。
.buildAppId("test")
// 设置IP与端口号(传空字符和0时,默认使用内置地址)
.buildIpAndPort("", 0)
// 设置备用服务器IP与端口号
.buildStandbyIpAndPort("", 0)
// 设置串口号、波特率(串口读卡时需要设置)
.buildSerialPort("/dev/ttyS0", 115200)
// 设置读卡类型(目前支持USB、USB_XZKJ、NFC、NFC_PASSPORT、
// SERIALPORT、SAM_USB、SAM_SERIALPORT)
.buildReadCardType(ReadCardType.USB)
// 循环读卡时,是否允许返回连续相同的身份证信息(读卡类型 USB_XZKJ 时有效)
.buildResultRepeatIdCard(true)
// 照片解码类型(目前支持无照片、服务器解码、本地解码照片)
.buildDecodeImageType(DecodeImageType.LOCAL_DECODE);
ReadCardOutMethod readCardManager = readSettingBuilder.buildCreate();
2、读卡初始化方法
2.1 当选择的读卡类型是USB、NFC时,初始化方法如下:
readCardManager.readCardInit((code,msg) -> {
if (code == StatusCode.ININ_ING.getCode()) {
Log.e("mtj", "初始化中");
} else if (code == StatusCode.ININ_OK.getCode()) {
Log.e("mtj", "初始化成功");
} else {
// 其他错误,对照错误码查看
Log.e("mtj", "初始化失败");
}
});
2.2 当选择的读卡类型是串口时,初始化方法如下:
// 第一个参数:串口文件
// 第二个参数:波特率
readCardManager.readCardInit((new File("/dev/ttyS0"), 115200, (code,msg) -> {
if (code == StatusCode.ININ_ING.getCode()) {
Log.e("mtj", "初始化中");
} else if (code == StatusCode.ININ_OK.getCode()) {
Log.e("mtj", "初始化成功");
} else {
// 其他错误,对照错误码查看
Log.e("mtj", "初始化失败");
}
});
- 如果已经通过 buildSerialPort 设置了串口号和波特率,也可直接使用 2.1 的初始化方法
3、用户开启读卡
- NFC读卡类型时,开启读卡方法如下:
readCardManager.readCardStart(intent, listener);
- NFC_PASSPORT读电子护照类型时,开启读卡方法如下:
readCardManager.readPassportStart(intent, documentNumberStr, dateOfBirthStr, dateOfExpiryStr, listener);
- USB、SERIALPORT读卡类型时,开启读卡方法如下:
readCardManager.readCardStart(listener);
方法参数说明
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
intent | 是 | Intent | nfc系统回调实体类 |
documentNumberStr | 是 | String | 9位护照号码 |
dateOfBirthStr | 是 | String | 生日,格式 yyMMdd 如:900203 |
dateOfExpiryStr | 是 | String | 护照有效期,格式 yyMMdd 如:290506 |
listener | 是 | ReadCardListener | 方法回调 |
ReadCardListener回调说明
方法名 | 参数 | 说明 |
---|---|---|
onReadIDCardSuccess(IdCardData) | IdCardData(身份证信息) | 详见身份证信息表 |
onReadICCardSuccess(icNumber: String,type:int) | icNumber(卡号) type(卡片类型) | 其他类型卡成功回调方法,详见卡类型表 |
onReadCardState(type: Int, msg: String) | type(状态码)msg(状态信息) | 失败或其他状态回调,详见错误码表 |
onReadPassportSuccess(EPassportData) | EPassportData(电子护照信息) | 详见电子护照信息表 |
4、用户关闭读卡
readCardManager.readCardStop();
单独开关日志
// 是否开启日志,第二位参数为日志保存的目录,
// 传空字符时,默认在 Android/data/包名/files/zrgkreadcardlog 下
readSettingBuilder.buildOpenLog(false, "");
获取设备信息
readCardManager.readCardDeviceid();
获取固件版本号
readCardManager.readFirmwareVersion();
身份证详细信息IdCardData
字段 | 类型 | 注释 |
---|---|---|
type | int | 1080:中国居民身份证 |
address | string | 家庭住址 |
birthday | string | 出生日期 |
dn | string | dn码 |
endDate | string | 身份证结束时间 |
startDate | string | 身份证生效时间 |
id | string | 身份证号码 |
image | ByteArray | 照片原始信息 |
issue | string | 签发机关 |
name | string | 姓名 |
nation | string | 民族 |
sex | string | 性别 |
uuid | string | uuid |
bitmap | Bitmap | 照片 |
外国人永久居住证IdCardData:
字段 | 类型 | 注释 |
---|---|---|
type | int | 1081:外国人永久居住证 |
birthday | string | 出生日期 |
dn | string | dn码 |
endDate | string | 身份证结束时间 |
startDate | string | 身份证生效时间 |
id | string | 身份证号码 |
image | ByteArray | 照片原始信息 |
issue | string | 签发机关 |
sex | string | 性别 |
uuid | string | uuid |
bitmap | Bitmap | 照片 |
nameChinese | string | 中文姓名 |
nameEnglish | string | 英文姓名 |
nameEnglishAdd | string | 英文姓名备用 |
nationlity | string | 国籍 |
cardVersion | string | 卡版本号 |
cardType | string | 卡类型 |
historicalNumber | string | 既往版本证件号码关联项 |
renewalNumber | string | 换证次数 |
港澳台居住证详细信息IdCardData
字段 | 类型 | 注释 |
---|---|---|
type | int | 1082:港澳台居住证 |
address | string | 家庭住址 |
birthday | string | 出生日期 |
dn | string | dn码 |
endDate | string | 身份证结束时间 |
startDate | string | 身份证生效时间 |
id | string | 身份证号码 |
image |
上一篇 身份证读卡SDK调用文档V3 |