我正在嘗試使用javax.smartcardio
建立NFC連接。我可以在Windows上成功運行此代碼,但無法在Mac上運行。似乎問題是Mac的驅動程序,但我想知道是否有解決方案。Mac上的直接命令acr122u nfc
TerminalFactory factory;
factory = TerminalFactory.getDefault();
CardTerminal terminal = factory.terminals().list().get(0);
card = terminal.connect("direct");`
注意:我必須使用直接命令。
編輯:爲什麼我必須使用直接命令是我需要的是提出了無卡時發送APDU命令。在其他協議(如T = 0,T = 1)中,當讀卡器上沒有卡(或設備)時,不能向讀卡器發送APDU命令。
你可以指向這個''direct'***協議***被指定的文檔嗎?您可能需要專有的安全提供商才能使用此協議。 –
這看起來沒有記錄。另一方面,有一些使用這個協議的例子(我也有一個只能在Windows上工作的例子:)) –
我認爲有一種方法可以實現這一點:註冊一個提供你自己的終端實現的提供者(to能夠使用'getDefault()'方法,然後在返回的'終端'內實現''direct''協議,如果我沒有記錯,'javax.smartcardio'可以通過'Provider'擴展 –