Java – 如何检测智能卡热插拔

我在java中动态加载pkcs11安全提供程序,只要在运行应用程序之前插入了智能卡读卡器,它就可以正常工作。 有谁能告诉我如何在应用程序运行时检测智能卡热插拔? 其实我在java中需要像pcsc_scan这样的东西。 环境是Ubuntu 9.10 with java 1.6.0_20。 提前致谢

PKCS#11没有定义主动通知应用程序有关设备插入/删除的标准方法。 你能做的最好的事情是运行一个线程,它将每秒检查一次槽的数量及其状态。

你可以将javax.smartcardio.* API与PKCS#11结合使用吗?

CardTerminal类具有isCardPresent()waitForCardPresent(timeout)waitForCardAbsent(timeout)方法,这些方法可以在单独的线程中用于轮询卡插入事件。