java.lang.Object
javax.smartcardio.Card
已建立连接的智能卡。通过调用
CardTerminal.connect()
方法获取Card对象。
- 自版本:
- 1.6
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
请求对此卡的独占访问。abstract void
disconnect
(boolean reset) 断开与此卡的连接。abstract void
释放之前使用beginExclusive
建立的独占访问。abstract ATR
getATR()
返回此卡的ATR。abstract CardChannel
返回用于此卡的基本逻辑通道的CardChannel。abstract String
返回此卡使用的协议。abstract CardChannel
打开到卡的新逻辑通道并返回它。abstract byte[]
transmitControlCommand
(int controlCode, byte[] command) 向终端设备发送控制命令。
-
Constructor Details
-
Card
protected Card()构造一个新的Card对象。此构造方法仅由子类调用。应用程序应调用CardTerminal.connect()方法以获取Card对象。
-
-
Method Details
-
getATR
返回此卡的ATR。- 返回:
- 此卡的ATR。
-
getProtocol
返回此卡使用的协议。- 返回:
- 此卡使用的协议,例如"T=0"或"T=1"
-
getBasicChannel
返回基本逻辑通道的CardChannel。基本逻辑通道的通道号为0。- 返回:
- 基本逻辑通道的CardChannel
- 抛出:
-
SecurityException
- 如果存在SecurityManager并且调用方没有所需的权限 -
IllegalStateException
- 如果此卡对象已通过disconnect()方法处置
-
openLogicalChannel
打开到卡的新逻辑通道并返回它。通过发出应使用格式[00 70 00 00 01]
的MANAGE CHANNEL
命令来打开通道。- 返回:
- 已打开的逻辑通道
- 抛出:
-
SecurityException
- 如果存在SecurityManager并且调用方没有所需的权限 -
CardException
- 如果无法打开新的逻辑通道 -
IllegalStateException
- 如果此卡对象已通过disconnect()方法处置
-
beginExclusive
请求对此卡的独占访问。一旦线程调用了
beginExclusive
,只允许该线程与此卡通信,直到调用endExclusive
。其他尝试通信的线程将收到一个CardException。应用程序必须确保正确释放独占访问。可以通过在
try ... finally
块中执行beginExclusive()
和endExclusive
调用来实现。- 抛出:
-
SecurityException
- 如果存在SecurityManager并且调用方没有所需的权限 -
CardException
- 如果已设置独占访问或无法建立独占访问 -
IllegalStateException
- 如果此卡对象已通过disconnect()方法处置
-
endExclusive
释放之前使用beginExclusive
建立的独占访问。- 抛出:
-
SecurityException
- 如果存在SecurityManager并且调用方没有所需的权限 -
IllegalStateException
- 如果活动线程当前没有对此卡的独占访问,或者如果此卡对象已通过disconnect()方法处置 -
CardException
- 如果操作失败
-
transmitControlCommand
向终端设备发送控制命令。例如,可以用于控制终端功能,如内置PIN键盘或生物识别。
- 参数:
-
controlCode
- 命令的控制码 -
command
- 命令数据 - 返回:
- 终端设备的响应
- 抛出:
-
SecurityException
- 如果存在SecurityManager并且调用方没有所需的权限 -
NullPointerException
- 如果命令为null -
CardException
- 如果卡操作失败 -
IllegalStateException
- 如果此卡对象已通过disconnect()方法处置
-
disconnect
断开与此卡的连接。此方法返回后,调用此对象上的方法或与此对象关联的CardChannels上的方法,需要与卡交互的将引发IllegalStateException。- 参数:
-
reset
- 断开连接后是否重置卡。 - 抛出:
-
CardException
- 如果卡操作失败 -
SecurityException
- 如果存在SecurityManager并且调用方没有所需的权限
-