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.TimeoutException
public StHfB.SamCommunicationResult samCommunication(int cardSlot, byte[] apdu, int overtime) throws java.util.concurrent.TimeoutException
cardSlot
- 卡槽
apdu
- apdu数据
overtime
- 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutException
public 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.TimeoutException
public StHfB.RadioFrequencyPowerModeResult radioFrequencyPowerMode(int radioFrequencyOutput, int lowPower) throws java.util.concurrent.TimeoutException
radioFrequencyOutput
- 射频输出开关,0关闭射频输出,1打开射频输出
lowPower
- 射频低功耗开关,0射频正常,1射频低功耗。
java.util.concurrent.TimeoutException
public StHfB.RadioFrequencyFindCardResult radioFrequencyFindCard(int findTime) throws java.util.concurrent.TimeoutException
findTime
- 寻卡时间,单位毫秒。
java.util.concurrent.TimeoutException
public StHfB.RadioFrequencyIso15693TransceiveResult radioFrequencyIso15693Transceive(byte[] data) throws java.util.concurrent.TimeoutException
data
- CMD数据java.util.concurrent.TimeoutException
public StHfB.RadioFrequencyIso14443bTransceiveResult radioFrequencyIso14443bTransceive(byte[] data) throws java.util.concurrent.TimeoutException
data
- CMD数据java.util.concurrent.TimeoutException
public StHfB.RadioFrequencyCpuResult radioFrequencyCpu() throws java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutException
public StHfBImpl.RadioFrequencyHardwareVersionResult radioFrequencyHardwareVersion(int cmdData) throws java.util.concurrent.TimeoutException
cmdData
- java.util.concurrent.TimeoutException
public 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.TimeoutException
public StHfB.RadioFrequencyReadResult radioFrequencyRead(int block, int overtime) throws java.util.concurrent.TimeoutException
block
- 块号
overtime
- 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutException
public StHfB.RadioFrequencyWriteResult radioFrequencyUlWrite(int blockIndex, byte[] data, int overtime) throws java.util.concurrent.TimeoutException
blockIndex
- 块号
data
- 写到块的字节,长度为四个字节。
overtime
- 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutException
public StHfB.RadioFrequencyOperateResult radioFrequencyM1Operate(int operate, int blockIndex, byte[] data, int overtime) throws java.util.concurrent.TimeoutException
operate
- 操作码,详细操作码参考StHfB.OperateData
OperateData
blockIndex
- 块号
data
- 写到块的字节,长度为十六个字节。写块=用16字节。备份操作=无效。传输操作=无效。加值操作=用前4个字节 表示金额,大端模式。减值操作=用前4个字节 表示金额,大端模式。
overtime
- 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutException
public StHfB.RadioFrequencyCpuCommunicationResult radioFrequencyCpuCommunication(byte[] apdu, int overtime) throws java.util.concurrent.TimeoutException
apdu
- apdu数据
overtime
- 超时,单位毫秒。取值范围从0到2550。
java.util.concurrent.TimeoutException
public void update(java.io.File file) throws java.io.IOException
file
- 升级文件java.io.IOException
public static void startDebug(android.content.Context context)