public final class StHfB
extends java.lang.Object
getInstance()获得一个StHfB对象后
,可通过init()初始化模块,给模块加电,打开串口。
,初始化后调用samInit(int, int, int)等具体的方法,操作模块。
,最后通过uninit()销毁对象,关闭模块。
本类及内部类中几乎所有了函数都可能会抛出IllegalArgumentException、IllegalStateException异常,但不会抛出InterruptedException异常| 限定符和类型 | 类和说明 |
|---|---|
static class |
StHfB.BaseResult
返回结果的基础类
|
static class |
StHfB.ErrorCode
错误码
|
class |
StHfB.OperateData
操作类,主要提供操作命令的静态量
|
static class |
StHfB.RadioFrequencyCpuCommunicationResult
cpu统一通信结果
|
static class |
StHfB.RadioFrequencyCpuResult
射频切换cpu结果
|
static class |
StHfB.RadioFrequencyFindCardResult
射频寻卡结果
|
static class |
StHfB.RadioFrequencyInitResult
射频初始化结果
|
static class |
StHfB.RadioFrequencyIso14443bTransceiveResult
ISO14443b卡交互后,卡返回的对命令的响应数据
|
static class |
StHfB.RadioFrequencyIso15693TransceiveResult
15693卡交互后,卡返回的对命令的响应数据
|
static class |
StHfB.RadioFrequencyM1AuthenticationResult
M1 认证结果
|
static class |
StHfB.RadioFrequencyOperateResult
其他操作结果
|
static class |
StHfB.RadioFrequencyPowerModeResult
射频开关接口结果
|
static class |
StHfB.RadioFrequencyReadResult
UL/M1读卡通讯结果
|
static class |
StHfB.RadioFrequencyWriteResult
射频写卡结果
|
static class |
StHfB.SamCommunicationResult
SAM卡统一通讯结果
|
static class |
StHfB.SamInitResult
SAM初始化结果
|
public static StHfB getInstance()
public boolean init()
public boolean isInit()
public void uninit()
public StHfB.SamInitResult samInit(int cardSlot, int baudRate, int overtime) throws java.util.concurrent.TimeoutException
cardSlot - 卡槽
baudRate - 波特率
overtime - 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutExceptionpublic StHfB.SamCommunicationResult samCommunication(int cardSlot, byte[] apdu, int overtime) throws java.util.concurrent.TimeoutException
cardSlot - 卡槽
apdu - apdu数据
overtime - 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyInitResult radioFrequencyInit(int type, int authenticationMode, int overtime) throws java.util.concurrent.TimeoutException
type - A/B模式,1为A模式,2为B模式。
authenticationMode - 芯片认证模式,1为MIF模式,2为上海模式。
overtime - 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyPowerModeResult radioFrequencyPowerMode(int radioFrequencyOutput, int lowPower) throws java.util.concurrent.TimeoutException
radioFrequencyOutput - 射频输出开关,0关闭射频输出,1打开射频输出
lowPower - 射频低功耗开关,0射频正常,1射频低功耗。
java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyFindCardResult radioFrequencyFindCard(int findTime) throws java.util.concurrent.TimeoutException
findTime - 寻卡时间,单位毫秒。
java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyIso15693TransceiveResult radioFrequencyIso15693Transceive(byte[] data) throws java.util.concurrent.TimeoutException
data - CMD数据java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyIso14443bTransceiveResult radioFrequencyIso14443bTransceive(byte[] data) throws java.util.concurrent.TimeoutException
data - CMD数据java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyCpuResult radioFrequencyCpu() throws java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutExceptionpublic StHfBImpl.RadioFrequencyHardwareVersionResult radioFrequencyHardwareVersion(int cmdData)
throws java.util.concurrent.TimeoutException
cmdData - java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyM1AuthenticationResult radioFrequencyM1Authentication(byte[] key, int keyType, int section) throws java.util.concurrent.TimeoutException
key - 密钥
keyType - key 类型,0是KEYA,1是KEYB。
section - 扇区号,从0到F。
java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyReadResult radioFrequencyRead(int block, int overtime) throws java.util.concurrent.TimeoutException
block - 块号
overtime - 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyWriteResult radioFrequencyUlWrite(int blockIndex, byte[] data, int overtime) throws java.util.concurrent.TimeoutException
blockIndex - 块号
data - 写到块的字节,长度为四个字节。
overtime - 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyOperateResult radioFrequencyM1Operate(int operate, int blockIndex, byte[] data, int overtime) throws java.util.concurrent.TimeoutException
operate - 操作码,详细操作码参考StHfB.OperateDataOperateData
blockIndex - 块号
data - 写到块的字节,长度为十六个字节。写块=用16字节。备份操作=无效。传输操作=无效。加值操作=用前4个字节 表示金额,大端模式。减值操作=用前4个字节 表示金额,大端模式。
overtime - 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutExceptionpublic StHfB.RadioFrequencyCpuCommunicationResult radioFrequencyCpuCommunication(byte[] apdu, int overtime) throws java.util.concurrent.TimeoutException
apdu - apdu数据
overtime - 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutExceptionpublic void update(java.io.File file)
throws java.io.IOException
file - 升级文件java.io.IOExceptionpublic static void startDebug(android.content.Context context)