【发布时间】:2013-05-31 01:58:31
【问题描述】:
我正在开发一个使用smartcardio 来处理智能卡的Java 应用程序。
必须可以让一个人移除其 USB 读卡器,然后重新插入,而无需重新启动小程序。
我正在使用terminals() 和waitForChange() 方法来检测终端更改,它在Linux、MacOS 和Win7 上运行良好。
但在 Windows 8(和仅限 Windows 8)上,在删除最后一个终端后,这些方法会抛出 SCARD_E_NO_SERVICE CardException,并且不会检测到更多更改。
我不确定它在说什么“服务”。但我认为这是在我调用TerminalFactory.getDefault() 以拥有TerminalFactory 单例时在我的线程中启动的。而且我认为这个单例可能有办法管理底层服务,这就是被破坏的地方。
有人知道如何在 Windows 8 上使用smartcardio 管理终端断开连接吗?
【问题讨论】:
标签: java windows-8 smartcard pcsc