NFCカードを使用するJavaプログラムでACR122U NFCリーダーを使用しています。しかし、デフォルトでは、読者はカードを読むときに鳴動します。私はそれをオフにしようとしているNFCリーダーのマニュアル(ここで見つける:http://www.acs.com.hk/download-manual/419/API-ACR122U-2.03.pdf)は、ブザーをオフにすることができますが表示されます。しかし、私はそれのためのJavaメソッドを書くのに問題があります。ご覧のとおり、クラスにはすでにNFCリーダーと通信するメソッドがあります。しかし、私はドキュメントに示されているコマンドをJavaメソッドに変換することができませんでした。JavaのNFCリーダー(NFC ACR122U)のブザーをオフにする
NFCcardクラス:
package dataStores;
import java.util.List;
import javax.smartcardio.Card;
import javax.smartcardio.CardChannel;
import javax.smartcardio.CardException;
import javax.smartcardio.CardTerminal;
import javax.smartcardio.CommandAPDU;
import javax.smartcardio.ResponseAPDU;
import javax.smartcardio.TerminalFactory;
public class NFCcard {
private TerminalFactory factory;
private List<CardTerminal> terminals;
private CardTerminal terminal;
private Card card ;
public CardChannel cardChannel;
public NFCcard() throws CardException {
factory = TerminalFactory.getDefault();
terminals = factory.terminals().list();
terminal = terminals.get(0);
card = terminal.connect("*");
cardChannel = card.getBasicChannel();
cardChannel.transmit(new CommandAPDU(new byte[] { (byte)0xE0, (byte)0x00, (byte)0x00, (byte)0x21, (byte)0x01,(byte)0x77 }));
}
public String getCardID() throws CardException{
String cardID = "";
ResponseAPDU answer=cardChannel.transmit(new CommandAPDU(new byte[] { (byte)0xFF, (byte)0xCA, (byte)0x00, (byte)0x00, (byte)0x00 }));
byte r[] = answer.getData();
for (int i=0; i<r.length; i++)
cardID+=r[i];
return cardID;
}
}
でなければなりませんか?カードが検出されたら? –
カードがスキャンされるとブザーが鳴ります。 – user2370794
あなたは検出されるとすぐに意味ですか? –