发布时间 : 星期三 文章IC卡读写接口说明资料更新完毕开始阅读
军软IC卡读写操作库使用说明
binary 9. 预留2 10. 预留3 String或binary String或binary 度 1+length 前段一个字节用于记录字符串或字节数组长度 1+length 前段一个字节用于记录字符串或字节数组长度 PS:因人员信息存取空间限定9个块即144个字节,所以不宜超过。
2.API说明
2.1 初始化SO
public native static void initDll();
程序启动时必须先调用此方法初始化IC卡读写库
2.2 释放SO
public native static void freeDll(); 程序退出时请调用此方法释放IC卡读写库,否则可能会引起内存泄漏
2.3打开读卡器串口
public native static boolean initReader(int cardType);
初始化读卡器,参数:卡类型,0x02 == A卡;0x01 == B卡; 返回值说明:
True:成功 False:失败 2.4关闭读卡器
public native static boolean closeReader(); 关闭读卡器操作,一般读完卡即关闭 返回值说明:
True:成功 False:失败
? 广州军软科技有限公司
Page 5 of 9
军软IC卡读写操作库使用说明
2.5判断Rfid是否打开
public native static boolean isOpened();
判断读卡器是否打开。 返回值说明:
True:已打开 False:未打开
2.6寻卡
public native static byte[] searchCard();
寻卡操作,返回数据中第一元素为数据长度,为0时表示读取失败或卡不存在;
2.7读取ic卡状态
public native static short getIcCardState(); short state = rfid.getIcCardState(); switch (state) {
case 0:
edtCardState.setText(\未初始化\); break; 读取IC卡状态,取到的是状态代码;
case 1: edtCardState.setText(\已初始化\); break;
case 3:
edtCardState.setText(\已写资料\); break;
case 5:
edtCardState.setText(\已写指纹\); break;
case 7:
edtCardState.setText(\已写指纹、信息\); break;
case 9:
edtCardState.setText(\已写钱包\); break;
Page 6 of 9
? 广州军软科技有限公司
军软IC卡读写操作库使用说明
case 11:
edtCardState.setText(\已写信息、钱包\); break;
case 15: }
edtCardState.setText(\已写信息、指纹、钱包\); break;
2.8读人员资料
public native static byte[] readPerson();
返回数据中第一元素为数据长度,为0时表示读取失败;
2.9写入备注信息1
public native static boolean setReserved1(byte[] reserved1);
用于修改人员资料中的备注信息,重要信息不得写入此处,以防被篡改。
2.9写入备注信息2
public native static boolean setReserved2(byte[] reserved2);
用于修改人员资料中的备注信息,重要信息不得写入此处,以防被篡改。
2.9写入备注信息3
public native static boolean setReserved3(byte[] reserved3);
用于修改人员资料中的备注信息,重要信息不得写入此处,以防被篡改。
2.10验证无指纹卡
public native static boolean checkNullFinger();
判断IC卡是否为无指纹卡。 返回值说明:
True:无指纹卡 False:非无指纹卡
? 广州军软科技有限公司
Page 7 of 9
军软IC卡读写操作库使用说明
2.11读指纹
public native static byte[] readFinger(byte fingerIndex);
读指纹操作,fingerIndex为指纹順序号,多指紋時有效,取值從1開始。
返回的字节数组第一个字节为1时表示成功,0时表示失败,
返回的字节数组第二个字节为指纹类别,1单指纹;2为多指纹;3为无指纹 剩余部分为指纹信息,512字节
2.12读钱包1余额
public native static double getMoney();
读取钱包1余额,失败时返回-1,成功时返回余额
2.13钱包1扣费
public native static double decMoney(double value); 钱包1扣费操作,失败时返回-1,成功时返回余额
2.14读钱包2余额
public native static float getMoney2(); 读取钱包2余额,失败时返回-1,成功时返回余额
2.15钱包2扣费
public native static float decMoney2(float value);
钱包扣费操作,失败时返回-1,成功时返回余额
2.16判断钱包是否锁定
public native static boolean isLockWallet(byte walletIndex);
返回值说明:
True:已锁定 False:未锁定
? 广州军软科技有限公司
Page 8 of 9