我正在开发一个Java应用程序,它使用smartcardio来处理智能卡。必须可以让一个人移除其USB读卡器,然后再次插入,而无需再次启动小程序。我正在使用terminals()和waitForChange()方法来检测终端变化,它在Linux、MacOS和Win7上运行良好。但在Windows8(和仅Windows8)上,在删除最后一个终端后,这些方法会抛出SCARD_E_NO_SERVICECardException,并且不再检测变化。我不确定它指的是什么“服务”。但我认为这是在我调用TerminalFactory.getDefault()以获得TerminalFactory单例时